我尝试重新映射当前键盘上没有的键,但无法让它在 Ubuntu 17.04 上运行。
我编辑了文件
/usr/share/X11/xkb/symbols/pc
我的键盘上缺少的键是下面的 LSGT 键(在该键的右侧shift)
key <LSGT> { [ less, greater, bar, brokenbar ] };
所以我想用上面的§键替换下面的部分键(数字键左侧1)。因为我从来没有用过这个键
所以我跑
xev -event keyboard
获取密钥信息。但我没有看到我应该使用的密钥号码?
KeyPress event, serial 28, synthetic NO, window 0x3400001,
root 0xdd, subw 0x0, time 18369362, (-451,244), root:(348,296),
state 0x0, keycode 49 (keysym 0xa7, section), same_screen YES,
XLookupString gives 2 bytes: (c2 a7) "§"
XmbLookupString gives 2 bytes: (c2 a7) "§"
XFilterEvent returns: False
当我测试这个的时候,我有一把钥匙可以测试,所以我拿了下面的钥匙
key <AD12> { [ U0328, dead_circumflex, dead_tilde, dead_caron ] };
并将其改为。
key <AD12> { [ less, greater, bar, brokenbar ] };
之后我运行以下命令来清除缓存
sudo dpkg-重新配置 xkb-数据
此后我退出并重新登录。但密钥保持不变,什么也没发生?
我究竟做错了什么?
答案1
在 Gunnars 评论的帮助下,我找到了答案。
当我查看
/etc/default/keyboard
在 XKBLAYOUT 中查看我当前的语言环境键盘设置。
于是我就回去了。
/usr/share/X11/xkb/symbols/
并且更改了我在上面的 XKBLAYOUT 设置中找到的 PC 和我的语言环境文件。
从
key <LSGT> { [ less, greater, bar, brokenbar ] };
到
key <TLDE> { [ less, greater, bar, brokenbar ] };
做了
sudo dpkg-reconfigure xkb-data
退出并重新输入,现在可以正常工作了。并且密钥已重新映射。(不太清楚为什么我必须同时更改 pc 和语言环境文件,我认为 pc 文件优先于语言环境文件)