Я могу сопоставить мою цифровую клавиатуру, например, с ~./Xmodmap так:

keycode 87 = XF86Launch1
keycode 88 = XF86Launch2
keycode 89 = XF86Launch3
keycode 83 = XF86Launch4
keycode 84 = XF86Launch5
keycode 85 = XF86Launch6
keycode 79 = XF86Launch7
keycode 80 = XF86Launch8
keycode 81 = XF86Launch9
keycode 90 = XF86LaunchA
keycode 91 = XF86LaunchB

Конечно, это означает, что моя цифровая клавиатура больше не вводит цифры и не предоставляет навигационные функции (Home, PgUp и т.д.). До сих пор я жил с этим, но сейчас я использую приложение (Blender), которое сопоставило многие функции с цифровой клавиатурой. Я могу обойтись альтернативным файлом ~/Xmodmap.numpad с таким содержимым:

keycode  79 = KP_Home KP_7 KP_Home KP_7
keycode  80 = KP_Up KP_8 KP_Up KP_8
keycode  81 = KP_Prior KP_9 KP_Prior KP_9
keycode  82 = KP_Subtract XF86Prev_VMode KP_Subtract XF86Prev_VMode
keycode  83 = KP_Left KP_4 KP_Left KP_4
keycode  84 = KP_Begin KP_5 KP_Begin KP_5
keycode  85 = KP_Right KP_6 KP_Right KP_6
keycode  86 = KP_Add XF86Next_VMode KP_Add XF86Next_VMode
keycode  87 = KP_End KP_1 KP_End KP_1
keycode  88 = KP_Down KP_2 KP_Down KP_2
keycode  89 = KP_Next KP_3 KP_Next KP_3
keycode  90 = KP_Insert KP_0 KP_Insert KP_0
keycode  91 = KP_Delete KP_Decimal KP_Delete KP_Decimal

но переключение между ними является проблемой. Могу ли я просто использовать xmodmap, чтобы моя цифровая клавиатура действовала как первый файл, но при этом удерживал Shift?

Когда я использую xev для проверки кодов клавиш, Shift-numpad не дает коды клавиш, отличные от обычной цифровой клавиатуры, он просто отправляет код клавиши для клавиши Shift отдельно от клавиши цифровой клавиатуры.

0