60% 键盘的 Xmodmap 键映射

60% 键盘的 Xmodmap 键映射

您好,我的文件中有以下代码~/.Xmodmap

keycode 108 = Mode_switch

keycode  10 = 1 exclam F1 exclam
keycode  11 = 2 at F2 at
keycode  12 = 3 numbersign F3 numbersign
keycode  13 = 4 dollar F4 dollar
keycode  14 = 5 percent F5 percent
keycode  15 = 6 asciicircum F6 asciicircum
keycode  16 = 7 ampersand F7 ampersand
keycode  17 = 8 asterisk F8 asterisk
keycode  18 = 9 parenleft F9 parenleft
keycode  19 = 0 parenright F10 parenright
keycode  20 = minus underscore F11 underscore
keycode  21 = equal plus F12 plus
keycode 24 = q Q grave asciitilde
keycode 43 = h H Left
keycode 44 = j J Down
keycode 45 = k K Up
keycode 46 = l L Right

  • Keycode 108是我的右 Alt 键,我将其替代为“临时功能层键”(因为我的键盘不是 QMK 可编程的)

以下是其功能的可视化(这是我的 60% 键盘布局)

所有这些键都可以独立工作(也可能带有Shift,Ctrl修饰语,尽管存在不一致之处)但并非具有所有可能的修饰语,如SuperAlt_L

例如:

  1. Alt + F4尝试按下使用,Alt_R + Alt_L + j不起作用。
  2. 尝试使用Super + Left/Down/Up/Right (移动窗口)按下Super + Alt_R + hjkl不起作用。

此外:在使用在线键盘测试器测试我的映射时keycode 108 (我的右 Alt 键)被解释为Alt_R而不是Mode_switch(可能正因为如此)我为箭头、F 键、波浪号和反引号设置的键绑定无法在这些网站上注册。

PS 我已阅读了所有xmodmap手册页,但我不知道如何解决这个问题。当然,我使用 X11 作为我的窗口系统。此外,这个问题很高兴地用所述的hjkl箭头绑定来编写,尽管如果我的问题得到解决可能会更好 :D


编辑#1:我的想法是,通过巧妙地编辑修饰键表,我可以在这些键绑定之上添加使用修饰键的功能。以下是表格:

:!xmodmap -pm                                                                                                                                                                                       
xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Mode_switch (0x6c),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

概念:在运行命令应用键映射后,xmodmap ~/.XmodmapAlt_R键已从mod1字符串中删除,可能是由于分配keycode 108 = Mode_switch

答案1

最后,我放弃了这个古老而令人困惑的讨厌之物xmodmap,选择了keyd一个小而强大的守护进程(UNIX 哲学的完美例子:做一件事,做一件伟大的事情)。的手册页keyd更容易阅读,它是我编程键盘所需的一切。

相关内容