如何使用自定义 XKB 布局交换 XF86MonBrightnessUp 和 F2 键?

如何使用自定义 XKB 布局交换 XF86MonBrightnessUp 和 F2 键?

我想使用 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

xevFn 模式下按键的输出:

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

相关内容