Використання setxkbmap для простого перенастроювання (схожого на xmodmap)


13

Я стикався з деякими проблемами після перезавантаження клавіатури за допомогою xmodmap: налаштування скидаються випадковим чином через 2-20 хвилин після застосування. Увімкнув це, але не допоможе: щось їх скидає, але всі згадки стосуються xfce, тоді як я перебуваю під звичайним 14.04 Ubuntu з єдністю.

Я бачив фрази на кшталт "використовувати xkb, забути xmodmap", але досі не маю уявлення, як це зробити. Це або класифіковано, або дуже складно, оскільки кількість інформації про це значно менша, ніж для xmodmap.

Ось мій список налаштувань:

xmodmap -e "keycode 84 = Down"
xmodmap -e "keycode 79 = Home"
xmodmap -e "keycode 80 = Up"
xmodmap -e "keycode 83 = Left"
xmodmap -e "keycode 85 = Right"
xmodmap -e "keycode 87 = End"
xmodmap -e "keycode 90 = Insert"
xmodmap -e "keycode 91 = Delete"
xmodmap -e "keycode 89 = Next"
xmodmap -e "keycode 81 = Prior"

де keycodes - відповідні клавіші на numpad, з numlock = вимкнено (в основному, я замінюю KP_Del на Delete, KP_Home на Home тощо - не запитайте, чому))

Чи може хтось допомогти знайти спосіб зробити це за допомогою xkb - принаймні одного з рядків? І де знайти "імена" ключів для інших, щоб я міг зробити все на прикладі?


5
Так. Була точно така ж проблема. Дивіться тут: rlog.rgtti.com/2014/05/01/… та askubuntu.com/questions/422650/… . Якщо ви зможете знайти, як користуватися xkbбез перезапису системних файлів, напишіть тут відповідь ... ви отримаєте нагороду мільйонами відгуків.
Рмано

Нічого собі - нарешті, посібник із перезапису xkb, який робить речі зрозумілішими ... Але я не можу зрозуміти, як переосмислити домівки "Home", "Delete" та "Up-& Down". Це завжди про деякі грецькі чи іспанські букви. Поки я пішов іншим шляхом - намагаючись не допустити зміни системи, щоб змінити мої налаштування Xmodmap (рецепт №3 звідси: програмуванняiroiro.blogspot.com/ 2013/03/… )
Den Drobiazko

1
Погана ідея - після цього не доступна комутація макетів (
Den Drobiazko

Відповіді:


4

Ви можете слідувати загальній ідеї, яку бачите в моїй відповіді щодо подібної проблеми ; якщо ви все ще хочете змінити макет (хоча все ще досить зламаний ), вам слід визначити новий макет або варіант .

Зауважте, що шаблон для копіювання та зміни для редагування клавіатури трохи важко знайти. У моїй клавіатурі, наприклад, геометрія "pc105"; це визначено в /usr/share/X11/xkb/symbols/pc. Якщо ви подивитесь на це, воно включає :

[...]
key <SPCE> {        [        space          ]       };

include "srvr_ctrl(fkey2vt)"
include "pc(editing)"
include "keypad(x11)"

key <BKSP> {        [ BackSpace, BackSpace  ]       };
[...]

Клавіатура визначена у файлі /usr/share/X11/xkb/symbols/keypad

[...] 
default  partial hidden keypad_keys
xkb_symbols "x11" {
   include "keypad(operators)"

   key  <KP7> {        [  KP_Home,     KP_7    ]       };
   key  <KP8> {        [  KP_Up,       KP_8    ]       };
[...]

Найменування ключових символів (keyims) найкраще шукати у файлі /usr/include/X11/keysymdef.h; Вам може знадобитися встановити пакети розробки, щоб мати його (або встановити його шляхом встановлення x11proto-core-dev):

[...]
/* Cursor control & motion */

#define XK_Home                          0xff50
#define XK_Left                          0xff51  /* Move left, left arrow */
#define XK_Up                            0xff52  /* Move up, up arrow */
[...]

ім'я ключового слова - це те, що ви один раз видалили рядок "XK_".

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