我使用 Arch Linux 和 xmodmap 来自定义按键。我正在学习触摸打字。现在,对于我的打字行为,我专门使用左移键来输入大写字母。我想将右移键融入我的打字流程中,但我很难习惯它。现在我强制执行此行为的想法是,让我用左手输入的字母只能使用右移键才能大写。
所以我的问题是:如何禁用某一组键的左移(大写),即我用左手触发的键。
答案1
所以我找到了一个可行的解决方案。在.Xmodmap
文件中(您可以查找语法这里),您将右移键重新映射为该mode_switch
键,然后重新映射每个您希望仅在mode_switch
按下该键时大写的键。例如,字母 q,默认情况下映射为:
keycode 24 = q Q q Q at Greek_OMEGA
需要更改为:
keycode 24 = q VoidSymbol Q Q at Greek_OMEGA
完整映射,即我的文件里面的内容.Xmodmap
:
keysym Shift_R = Mode_switch
keycode 49 = asciicircum VoidSymbol degree degree notsign notsign
keycode 10 = 1 VoidSymbol exclam onesuperior exclamdown
keycode 11 = 2 VoidSymbol quotedbl quotedbl twosuperior oneeighth
keycode 12 = 3 VoidSymbol section numbersign threesuperior sterling
keycode 13 = 4 VoidSymbol dollar dollar onequarter currency
keycode 14 = 5 VoidSymbol percent percent onehalf threeeighths
keycode 15 = 6 VoidSymbol ampersand ampersand notsign fiveeighths
keycode 24 = q VoidSymbol Q Q at Greek_OMEGA
keycode 25 = w VoidSymbol W W lstroke Lstroke
keycode 26 = e VoidSymbol E E EuroSign EuroSign
keycode 27 = r VoidSymbol R R paragraph registered
keycode 28 = t VoidSymbol T T tslash Tslash
keycode 38 = a VoidSymbol A A ae AE
keycode 39 = s VoidSymbol S S U017F U1E9E
keycode 40 = d VoidSymbol D D eth ETH
keycode 41 = f VoidSymbol F F dstroke ordfeminine
keycode 42 = g VoidSymbol G G eng ENG
keycode 94 = less VoidSymbol greater greater bar dead_belowmacron bar dead_belowmacron
keycode 52 = y VoidSymbol Y Y guillemotright U203A
keycode 53 = x VoidSymbol X X guillemotleft U2039
keycode 54 = c VoidSymbol C C cent copyright
keycode 55 = v VoidSymbol V V doublelowquotemark singlelowquotemark
(请注意,我的映射适用于德语键盘,您可以使用查看默认映射xmodmap -pke
)