1

Я недавно купил клавиатуру и мышь Logitech K520. Это хорошая клавиатура, и, как обычно в наши дни, она имеет клавиши Fn в стиле ноутбука, альтернативно назначенные клавишам F1 - F12 . На самом деле они мне не нужны, но так как я отдаю свой правый ключ Super/Windows для бесполезной в противном случае клавиши Fn , было бы неплохо извлечь из них пользу.

Проблема в том, что некоторые ключи вместо отправки специальных кодов клавиш отправляют комбинации клавиш. Например, Fn+F5 отправляет Alt+Tab, а Fn+F6 отправляет Win+D.

Я не вижу никакого способа различить фактические Alt+Tab и Fn- key, генерируемые Alt+Tab на уровне операционной системы - есть ли способ запрограммировать клавиатуру для отправки альтернативных кодов клавиш? Если это касается программного обеспечения только для Windows, будут ли изменения постоянными, то есть можно ли перенастроить клавиатуру с виртуальной машины Windows, а затем воспользоваться преимуществами Linux?

1 ответ1

0

Если вы хотите немного взломать, вы можете переназначить эти клавиши Fn в Linux. В моей статье 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .