我想使用 xkb 布局交换“两个”键,即 XF86MonBrightnessUp(“亮度升高”)和 F2 键。这些键都位于同一个按钮“F2”下。如果键盘设置为多媒体,则其工作方式为 XF86MonBrightnessUp,否则,其工作方式为 F2。我大部分时间都将键盘保持在多媒体模式,但我讨厌失去我经常使用的 F2。无论如何,我已经为此键盘创建了一个自定义 xkb 布局,以便交换其他键,并且按预期工作,但我似乎无法使用相同的方法交换这两个键。基本上我只想按“F2”键总是无论键盘处于何种模式,都按 F2 工作。下面是我的布局和xev
按键的输出。请注意,我只对 xkb 布局解决方案感兴趣。
partial alphanumeric_keys
xkb_symbols "us-modded" {
name[Group1]= "English (US, Modded)";
include "us(alt-intl-unicode)"
key <HOME> { [ Prior ] };
key <PGUP> { [ Home ] };
key <END> { [ Next ] };
key <PGDN> { [ End ] };
};
xev
多媒体模式下按键的输出:
KeyPress event, serial 40, synthetic NO, window 0x7600001,
root 0x7a9, subw 0x0, time 42782231, (-443,66), root:(428,517),
state 0x0, keycode 233 (keysym 0x1008ff02, XF86MonBrightnessUp), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
xev
Fn 模式下按键的输出:
KeyPress event, serial 41, synthetic NO, window 0x7600001,
root 0x7a9, subw 0x0, time 42793458, (-443,66), root:(428,517),
state 0x0, keycode 68 (keysym 0xffbf, F2), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False