在 Linux 上重新映射 Logitech K520 Fn 键?

在 Linux 上重新映射 Logitech K520 Fn 键?

我最近买了一个罗技 K520 键盘和鼠标。这是一款不错的键盘,而且,像现在一样,它有笔记本电脑风格的 Fn 键作为F1-F12键的替代键。我其实不需要这些,但由于我放弃了右手的 Super/Windows 键,换成了一个原本没用的Fn键,所以最好能利用一下它们。

问题是:有些键不发送特殊键代码,而是发送组合键。例如,Fn+F5发送Alt+ Tab,而Fn+F6发送Win+ D

我看不出有任何方法可以在操作系统级别区分实际的Alt+TabFn-key 生成的Alt+ Tab- 是否有某种方法可以对键盘进行编程以发送替代键代码?如果它涉及仅适用于 Windows 的软件,那么更改是否是永久性的,即我可以从 Windows 虚拟机重新配置键盘,然后在 Linux 上获得好处吗?

答案1

如果你想稍微破解一下,可以在 Linux 上重新映射这些 Fn 键。在我的文章中Logitech Unifying Linux:逆向工程和解除配对工具,我描述了如何监控 USB 流量来对 Logitech Unifying 设备进行逆向工程。

自行对 Fn 键进行逆向工程重新分配的要求:

  • 具备 Logitechs HID++ 1.0 协议的基本知识(可能还有 2.0 协议,具体取决于您的设备)。(可从以下网址获取)https://lekensteyn.nl/files/logitech/
  • 我的文章中介绍的工具read-dev-usbmon,可以用来更轻松地进行监控。
  • 能够写入特权设备(通常/dev/hidraw0),有关详细信息,请参阅我的文章。

时间允许的话,我会研究一下。在此之前,我只能给你一些建议:

  • 在我的 K800 键盘 (HID++ 1.0) 上,启用字段 1 上的通知位 1 会更改键盘发送的信息,大概是为了允许进行您描述的自定义。来自https://git.lekensteyn.nl/ltunify/tree/registers.txt#n80

    00 rw ENABLED_NOTIFS, 10 02 00, 10 is Battery info, buy what is 02?
    After writing FF FF FF, reading the register shows 13 02 00
    .1 .. .. - If enabled, keys like Web and Mute are passed over the HID protocol
        with short message type=03. This presumably allows the user to customize
        key bindings.
    .2 .. .. - ?
    1. .. .. - battery status (documented) (see also below, register/type 07)
    .. .2 .. - backlight changes (pressing Fn+F[56])
    

当有人实现这个功能时(可能是我),它很可能最终会出现在 Solaar 软件中。此功能可在https://github.com/pwr/Solaar/issues/31

答案2

solaar通过 pip 安装对我而言适用于“K400 Plus”型号。例如:

solaar config 1 fn-swap off

相关内容