我创建了一个.Xmodmap
文件来将我的重新映射Caps_Lock
到Mode_switch
。这允许我重新分配键盘的箭头/导航块到主行。
一切都运行良好,直到我意识到,在 Java 平台上编写并使用的程序Swing
(如 Jetbrains 的编辑器)无法识别这些重新映射。
现在我想将这些设置移植到xkb
,因为 已弃用xmodmap
。
(我认为这可以解决这个问题,但我真的不知道如何使用 xkb 来实现同样的效果。)配置xkb
让我感到困惑,而且对于这几个重新映射来说,这似乎是一种非常复杂的方法。
那么,我该怎么做呢?
我真的更喜欢另一种方法/解决方法来解决 java 问题,这样我就可以保留我的 xmodmap 配置。
这是我的.Xmodmap
文件:
! Disable Caps Lock and use it as mode switch
keycode 66 = Mode_switch Mode_switch
! Toggle Caps Lock with <Mode_switch> + <Control_R>
keysym Control_R = Control_R Control_R Caps_Lock
! Remap navigation block to ijkl...
keysym j = j J Left Left
keysym l = l L Right Right
keysym i = i I Up Up
keysym k = k K Down Down
keysym u = u U Home Home
keysym o = o O End End
! ö Ö
keycode 47 = odiaeresis Odiaeresis BackSpace BackSpace
keysym h = h H Delete Delete
keysym n = n N Prior Prior
! enable mu for use with Iso_Level_3 (the right alt key on german keyboards)
keysym m = m M Next Next mu mu
! Space to Escape
keysym space = space space Escape
这是我的 xmodmap 输出:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Mode_switch (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), 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)
答案1
我没有办法让它工作,xmodmap
幸运的是,我偶然发现一个家伙已经用 做了类似的东西xkb
。只需点击此链接并按照那里的说明使用映射到 的“扩展”布局来扩展键盘Caps_Lock
布局ISO_Level_5
。
http://forum.colemak.com/viewtopic.php?id=1438&p=1
请继续阅读论坛,了解我如何解决困扰我的一些小问题。
如果您的 ttys 和 capslock 无法正常工作,请查看此处:http://forum.colemak.com/viewtopic.php?id=1438&p=4。
谢谢Øystein Bech“DreymaR”Gadmar,让这一切成为可能!
玩得开心!
答案2
我找到了允许使用重新映射键的解决方案修改映射比如你的箭pycharm:
在“设置”>“键盘映射”中使用国家/地区布局来设置快捷键