首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用XKB重写几个密钥代码

用XKB重写几个密钥代码
EN

Unix & Linux用户
提问于 2015-03-04 16:12:25
回答 1查看 6.7K关注 0票数 12

我想用XKB洗牌几个键。(为什么?在笔记本电脑上,有些钥匙的位置不方便。)我目前使用xmodmap:

代码语言:javascript
复制
keycode 110 = Prior
keycode 115 = Delete
keycode 112 = Next
keycode 117 = Insert
keycode 119 = End
keycode 118 = Home

相反,我希望使用XKB并为某些物理键指定不同的符号名称,而不是为某些密钥代码分配不同的密钥同步器。(就是原因。)我希望密钥代码110发送PGUP而不是HOME,密钥代码115发送DELE而不是END等等。配置的其余部分不能受到影响(因此PGUP将继续发送keysym Prior等,而所有其他键都保持原样)。

如何更改这些特定密钥的分配?我将用xkbcomp somefile.xkb $DISPLAY加载一个文件,我需要在somefile.xkb中放什么?

EN

回答 1

Unix & Linux用户

发布于 2015-03-04 17:27:02

您可以从setxkbmap -print > somefile.xkb开始获取您正在用作基础的密钥映射,然后在xkb_keycodes部分中重新定义您想要的键名,如下所示:

代码语言:javascript
复制
xkb_keymap {
 xkb_keycodes {
  include "evdev+aliases(azerty)"
  // Custom <key name> = keycode
  <INS> = 117;
  <HOME> = 118;
  <PGUP> = 110;
  <DELE> = 115;
  <END> = 119;
  <PGDN> = 112;
 };
 xkb_types { include "complete"};
 xkb_compatibility { include "complete"};
 xkb_symbols { include "pc+fr+inet(evdev)"};
 xkb_geometry { include "pc(pc104)"};
};

这会生成一些键名被多次分配的警告,但是它可以工作,因为只有最后一个计数(因此在包含之后放置自定义设置是很重要的)。而且该文件具有可读性的优点。

另一种方法是将您使用的密钥映射转储到文件中:xkbcomp $DISPLAY somefile.xkb并修改相同的行(包含计算值的密钥映射相同)。这样就没有针对多个定义的警告,但它的可读性较低。

票数 7
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/188164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档