我能够将我的数字键盘映射到例如~./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 键发送一个与数字键盘键分开的键码。