将某个键设为 S​​TICKY 键,将另一个键设为 TOGGLING 键

将某个键设为 S​​TICKY 键,将另一个键设为 TOGGLING 键

如何使Fn按键像切换和Caps Lock粘性一样工作?

目前,我想要这两个特定的键,但我更喜欢该问题的通用解决方案。

答案1

  • Fn仅当制造商在 BIOS 中添加了此类选项时,才有可能进行更改。

    为什么?
    简短回答:Fn单按不会发送扫描码。
    详细回答:请参阅Fn 键如何工作?

  • 粘性键仅用于 Caps Lock(不是完全可访问的粘性修饰符)

    1. 更改 Caps Lock 键的解释

      sudo nano /usr/share/X11/xkb/compat/caps
      

      LockMods将操作更改为LatchMods

      partial xkb_compatibility "caps_lock"  {
          // Keysym Caps_Lock locks Lock modifier.
          // With this, the keysym Caps_Lock can be used without binding the whole
          // key to a real modifier.
              // This is essential when you don't want to use caps lock on the first
              // level.
              // This should not have any compatibility issues when used together with
              // other layouts which don't utilize this capability.
          interpret Caps_Lock {
              action = LatchMods(modifiers = Lock);
          };
      };
      
    2. 编译更改并更新 initramfs 映像

      sudo dpkg-reconfigure xkb-data
      sudo update-initramfs -u -k all
      
    3. 重启

    注意,我仍然不知道如何让键盘 LED 跟随状态。

    要切换其他修饰符(例如Alt),请将其SetMods操作更改为。大多数虚拟修饰符都在文件LockMods中处理。compat/misc

    参考资料请参见我对其他类似问题的回答:让修饰键在 X 下充当切换键

相关内容