目标:
我想将Alt分配给CapsLock键,将Meta分配给Alt键。但是通过这种方式,Alt键将不再被识别为Alt,而CapsLock键将不再被识别为CapsLock。
openSUSE 11.4
先前:
openSUSE 11.1 -由于我是计算机的唯一用户,因此我“简单地”编辑了/ usr / share / X11 / xkb / keycodes / xfree86文件,该文件运行正常。键被连接到最低级别的符号上。
问题:
xkb
我创建了波兰语版式(pl_ext)的变体,(用于测试)由以下条目组成:
key <CAPS> { [ Alt_L ] }; modifier_map Mod1 { Alt_L, Alt_R };
但这根本不起作用,xev中的CapsLock键被识别(符号)为Alt_L,但是当我按CapsLock键时,其行为类似于CapsLock(例如,假设您在菜单中有File,Alt + F应该打开此菜单,但不会)。
问题:如何定义布局文件以将CapsLock键设置为Alt,将Alt键设置为Meta?
编辑:这里成功一半!现在,我有这样的条目:
key <CAPS> { [ Alt_L ] }; modifier_map Mod1 { <CAPS> }; // this is a difference
这可以按需工作。这不是:
key <LALT> { [ Meta_L ] } ; key <RALT> { [ Meta_R ] } ; modifier_map Mod5 { <LALT>,<RALT> };
xev将Alt键识别为Meta,但是我仍然可以使用Alt + F打开菜单,切换窗口,但我不应该。另一方面,我不能输入任何民族字符,应该这样做。
xfree86
但这现在不起作用,我猜是读取了其他文件表而不是xfree86。
问题:如何找出系统使用哪个键码表文件(X / Gnome)?
编辑:对我来说最好的选择-编辑键码表- 已由macias的答案解决!
xmodmap
这里成功的一半。此部分可根据需要工作:
删除锁= Caps_Lock键符号Caps_Lock = Alt_L
现在,我确实有映射到Alt的CapsLock键。但是这个:
键符Alt_L = Meta_L
...确实很奇怪。xev显示Alt键已映射到Meta,但是当我按Alt + F(应映射到Meta + F->不执行任何操作)时,“文件”菜单打开。而且,当我按Alt + Tab时,会出现窗口切换器(我不应该-Alt现在是Meta)。
问题:如何“删除” Alt键的旧行为?
编辑:这部分由吉尔斯的答案解决。
摘要:
回答任何问题将(希望)解决我的问题,但是我更喜欢完全使用xkb,因为这样我就可以将xkb的所有文件打包并在一个位置更改布局。预先感谢您的任何帮助!