Отключить вставку средней кнопкой на одном конкретном HID

Я использую Ubuntu 12.04 на lenovo T430s. При использовании внешней клавиатуры с точкой отслеживания я наблюдал следующее неожиданное поведение: при прокрутке (нажатие и удерживание средней кнопки мыши и перемещение точки отслеживания) текст, который я выбрал последним, вставляется. Но это должно происходить только при нажатии (не удерживании) средней кнопки мыши. Интересно, что это происходит только на внешней клавиатуре, клавиатура ноутбука ведет себя корректно. Кроме того, это происходит только тогда, когда точка отслеживания используется вскоре после нажатия средней кнопки мыши, она не вставляется, когда я жду хотя бы секунду.

Гугл ничего не выдумал. Есть ли какие-либо аналогичные события или обходной путь, который я пропустил?

Один приемлемый обходной путь для меня - отключить вставку средней кнопки только на внешней клавиатуре, чтобы я все еще мог использовать внешнюю мышь для выполнения операции. склеивание. Я только нашел способ полностью отключить эту функцию на всех устройствах, но я использую эту функцию вставки довольно часто, поэтому я не могу жить без нее.

3
задан 7 May 2014 в 01:44

1 ответ

Используйте xinput list, чтобы найти устройство, на котором вы хотите отключить кнопку:

$ xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse           id=8    [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=9    [slave  keyboard (3)]

Я попробую это на моей мыши. Следующим шагом является получение текущей карты кнопок:

$ xinput get-button-map 'Logitech USB-PS/2 Optical Mouse'
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 

Оказывается, моя мышь отображается очень простым способом: физическая кнопка 1 является логической кнопкой 1 и т. Д. Это значение по умолчанию; вы можете увидеть что-то другое, например, если вы выбрали режим для левой руки.

Как бы то ни было, средняя кнопка - это кнопка мыши 2. Чтобы отключить ее, вы устанавливаете, какой из них показывает 2 - 0 (отключено). (Надеюсь, когда вы прокручиваете, его кнопка генерирует 4 или 5 щелчков, в зависимости от того, прокручиваете ли вы вверх или вниз. Это нормальный способ работы колеса прокрутки.)

$ xinput set-button-map 'Logitech USB-PS/2 Optical Mouse' 1 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Средняя щелчок теперь будет полностью игнорироваться на этом одном устройстве. Чтобы вернуть его обратно, просто запустите эту команду еще раз, но вернув 2 на свое место. (Разумеется, вы также можете менять расположение кнопок по своему усмотрению, например, если поменять местами 4 и 5, вы измените направление прокрутки).

Если это делает то, что вы хотите, вам нужно только организовать запуск последней строки как часть ваших сценариев входа в систему.

0
ответ дан 7 May 2014 в 01:44

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

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