Повторное сопоставление Caps Lock для управления при использовании адаптера PS2-USB?

Настройка

Я пытаюсь переназначить клавишу CapsLock , чтобы она была Control при использовании клавиатуры Model M (с трекпоинтом) с PS2 переходник на USB.

Проблема

Если теперь переназначенная управляющая клавиша остается нажатой в течение более половины секунды, она прекращает изменение последующих символов. То есть, если я нажму control , нажму и отпущу x , подожду полсекунды, нажму и отпущу c , я получу управление - x c вместо control - x control - < KBD> с . Вы можете себе представить, что это может быть проблемой для пользователей emacs и bash!

Эта проблема не не проявляется при использовании обычных клавиатур USB, со встроенными клавиатурами ноутбуков, в Windows или если я не переназначу колпачок для контроля.

Я использовал Системные настройки> Устройства ввода> Клавиатура в Kubuntu, чтобы сделать переназначение, а также я сделал прямую xmodmap. Такое же поведение Поскольку setkeycodes не влияет на USB-клавиатуры, я не могу это использовать.

Временные решения Меня не интересуют:

  • Используйте USB-клавиатуру Unicomp. Хотя механизм пружинной деформации идентичен механизму IBM / Lexmark, качество трекпойнта ниже, что делает его практически непригодным для использования. Клавиши мыши также ненадежны. Жаль, потому что это было бы правильным решением. Кроме того, они изменили форм-фактор на некрасивый.
  • Используйте пружинную клавиатуру без изгиба. Очевидно, что не вариант!
  • Не переназначать ключи. Против моей религии.
  • Удалите Linux и используйте Windows (там, где проблема не существует). Также против моей религии.
  • Отбросьте Linux и используйте OSX. У OSX такая же проблема, плюс она против моей религии.

Решением, которое я рассматриваю , является построение одного из этих и повторное отображение таким образом, но это немного экстремально. Я бы предпочел сделать это в программном обеспечении.

1
задан 29 December 2018 в 21:12

2 ответа

Это оказалось аппаратной проблемой. В какой-то момент замеченный, что другой адаптер PS2-USB не имел той проблемы, переключенной на тот бренд и проблему, решил себя.

устройство, которое работает хорошо, сделано (повторно упакованным, действительно) Belkin, и признает себя

ID 0d3d:0001 Tangtop Technology Co., Ltd HID Keyboard

(Да, это только говорит "клавиатуру", но lsusb -v шоу, что имеет и клавиатуру и дескриптор мыши, очевидно).

0
ответ дан 17 April 2019 в 23:55

Вы можете решать проблему путем обнаружения соответствующих идентификационных данных PS/2-> USB-адаптер и клавиатура.

Попробуйте команду

lsusb

Для меня это показало, среди прочего, что существует a

Bus 001 Device 018: ID 04d9:1400 Holtek Semiconductor, Inc. PS/2 keyboard + mouse controller

Первая часть идентификационного кода USB (04d9) определяет производителя и второе продукт.

Теперь можно использовать ту информацию для обнаружения идентификационных данных устройств, подключенных к тому адаптеру путем ввода

xinput list --long | grep 04d9

То, что я получил, было

↳ HID 04d9:1400                             id=9    [slave  pointer  (2)]

↳ HID 04d9:1400                             id=8    [slave  keyboard (3)]

У меня нет клавиатуры, подключенной к адаптеру, но существует моя старая мышь шарового манипулятора, Logitech TrackMan Marble FX.

Таким образом, я хотел знать больше об устройстве, определенном выше как id=9, и я использовал xinput команда для получения то, что я хотел:

xinput list-props 9

Первая строка списка была

Device 'HID 04d9:1400':

Список также показывает свойства устройства, и я использовал их для создания команд, необходимых для изменения тех свойств. То, чем я закончил, было двумя командами:

xinput set-int-prop "pointer:HID 04d9:1400" "Evdev Wheel Emulation Button" 8 3
xinput set-int-prop "pointer:HID 04d9:1400" "Evdev Wheel Emulation" 8 1

Первая строка превращает Кнопку 3 мыши TrackMan в кнопку эмуляции Колеса. (Кнопка 4 иначе "8", кажется, не работает вообще). "Указатель" в командах относится к мыши и предотвращает запутывающие вещи с "клавиатурой", которая могла быть присоединена к тому же адаптеру (не в моей системе).

Так же Вы могли, возможно, изменить свойства своей клавиатуры с командами как

xinput set-int-prop "keyboard:HID (keyboard usb-identifier) (property to be set)

и т.д. с другими отдельными свойствами

0
ответ дан 17 April 2019 в 23:55

Другие вопросы по тегам:

Похожие вопросы: