Заново видаліть клавішу живлення для видалення


14

У мене є macbook pro під управлінням Ubuntu 13.10 з FluxBox. На жаль, кнопка живлення фізично знаходиться над задньою простором, де я б очікував, що ключ видалення буде ввімкнути . В OS X програму PowerKey можна використовувати для перестановки ключа живлення для видалення. Як я можу зробити щось подібне в X Windows?

Я відключив клавішу живлення, відредагувавши /etc/systemd/logind.confта встановивши. HandlePowerKey = ignore Після цього я можу натиснути кнопку живлення, не вимикаючи ноутбук.

Запуск xev -event keyboardвиявляє, що клавіатура клавіші живлення зазвичай харчується іншим процесом:

MappingNotify event, serial 36, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

KeymapNotify event, serial 36, synthetic NO, window 0x0,
    keys:  1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

KeymapNotify event, serial 37, synthetic NO, window 0x0,
    keys:  1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

Однак, запустивши лише xterm безпосередньо з консолі, я зміг успішно отримати код клавіші та перевстановити ключ.

xinit /usr/bin/xterm -- :1
xev -event keyboard | tee /tmp/junk.txt
tail -n ???? /tmp/junk.txt
MappingNotify event, serial 28, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

KeyPress event, serial 28, synthetic NO, window 0x600001,
    root 0xa1, subw 0x0, time 720369, (146,89), root:(148,91),
    state 0x0, keycode 124 (keysym 0x1008ff2a, XF86PowerOff), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x600001,
    root 0xa1, subw 0x0, time 720369, (146,89), root:(148,91),
    state 0x0, keycode 124 (keysym 0x1008ff2a, XF86PowerOff), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

MappingNotify event, serial 29, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

У цей момент було також можливо зіставити ключ за допомогою xmodmap. Я відобразив його на куту косу рису, яку легше побачити, ніж видалити:

 xmodmap -e "keycode 124 = backslash bar"

Я можу отримати ледве функціональний еквівалент для запуску, додавши це, ~/.fluxbox/keysале це одночасно і некрасиво, і досить повільно, щоб бути непридатним.

  # Remap the power off to a delete key...
  XF86PowerOff :Exec xdotool key Delete

Як я можу використовувати xmodmap або setxkbmap для використання кнопки живлення одночасно зі звичайним менеджером вікон?

Відповіді:


3

Я не точно розумію остаточне речення, питання, але можу сказати про назву питання: "Перезавантаження клавіші живлення для видалення".

Спробуйте замінити будь-який "XF86PowerOff" або лише той, що відповідає вашій клавіатурі, на "Видалити" в / usr / share / X11 / xkb / символи / inet.

Повторити це потрібно після оновлення системи, яке оновлює цей файл.


див. детальну інформацію про askubuntu.com/questions/325272/… . цю відповідь слід прийняти.
phil294

1

Це не точна відповідь, але ви спробували натиснути fn+ delete? Це повинно діяти як справжнє Видалення , порівняно з його фактичною дією "зворотної області" і дуже близько до клавіші живлення.

Ще одна порада:

fn+ enterдіє як кнопка Вставка , тому ви повинні мати можливість натиснути shift+ fn+ enterта Вставити, як середній клацання.


0

Важко сказати точно. Це можуть бути речі, які ви вже випробували, але вони можуть призвести до простого рішення.

Чи працює xmodmap для інших клавіш, чи є щось, що робить fluxbox, що повністю порушує xmodmap?

Що станеться, якщо ви запустите x, модифікуєте клавішу живлення та запускаєте fluxbox? Чи приклеюється картографування?

Якщо запуск xmodmap перед тим, як fluxbox працює і зберігає ваші налаштування, ви можете написати сценарій оболонки для виклику обох у належному порядку, або якщо ви використовуєте gdm, він повинен прочитати ~/.xmodmapабо ~/.xmodmaprcавтоматично для вас, перш ніж fluxbox введе зображення.


Так, xmodmap працює. Зараз у мене є правильна команда alt і права перезапущена для видалення та вставки відповідно за допомогою xmodmap -e "видалити mod1 = Alt_L" -e "видалити mod4 = Super_L" -e "додати mod1 = Super_L" -e "додати mod4 = Alt_L "-e" видалити mod1 = Alt_R "-e" видалити mod4 = Super_R "-e" keyym Alt_R = Видалити "-e" keysym Super_R = Вставити "
Nathan

Чи можете ви включити вихід xmodmap -pke в fluxbox?
Майк Ферхерст

@nathan, тому це проблема, коли запускається xmodmap, після fluxbox або раніше. Була така ж проблема з дивовижним wm
Darek
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.