Вопрос: Logitech M560 mouse on linux отправляет перепутанные входные события


Мой друг вчера купил мышь Logitech M560 (вы можете ее увидеть Вот) и попробовал это на своей системе Ubuntu. Это, по-видимому, относительно новая модель, поэтому в ней нет информации об этом, кроме собственного веб-сайта logitech. Ключевое сопоставление было отключено, но я подумал, что было легко переназначить кнопки - я делал это в течение последнего десятилетия с помощью различных мышей Logitech. Однако, в отличие от других мышей, где вы должны сказать кнопку 13 переключения с кнопкой 2, эта мышь посылает некоторые нажатия клавиш, как если бы вы набрали клавиатуру.

Мышь имеет кнопки слева и справа, колесо прокрутки с возможностью наклона (4 кнопки), кнопки назад и вперед на стороне, плюс небольшая квадратная кнопка за рулем - всего девять кнопок. Нажатие колеса не работает как средний щелчок, под ним нет переключателя. Вместо этого нажатие колеса включает и отключает замок, позволяя ему вращаться поэтапно или свободно.

Я хотел получить все «обычные» кнопки, чтобы сделать то, что они должны были, и отобразить действие среднего щелчка на маленькую кнопку за рулем, поэтому я начал с xev и xinput, чтобы определить, что:

Кнопка 1 -> левый клик Кнопка 3 -> правый щелчок Кнопка 4 -> колесо вверх Кнопка 5 -> колесо вниз Кнопка 8 -> отклонение влево Кнопка 9 -> наклонение вправо

И вот странная часть: Нажатие кнопки «вперед» похоже на нажатие клавиши Super_R (код 134). Нажатие кнопки «Назад» дает одновременно Super_L и d (коды клавиш 133 и 40).

Еще более странно: Однократное нажатие на квадратную кнопку дает одновременно клавиши Alt_L, Super_L и XF86TouchpadOff (коды клавиш 64, 133, 201). Повторное нажатие на него похоже на нажатие кнопки 1 ...

Таким образом, первые шесть кнопок посылают кнопки нажимают / отпускают события, в то время как остальные три отправляют несколько событий нажатия / отпускания нескольких клавиш.

Сравнительно легко сопоставить кнопку мыши с клавиатурным кодом, но можно ли сделать наоборот, без ущерба для клавиатуры системы? Должен ли я связаться с кем-либо с kernel.org, чтобы добавить поддержку мыши?


6
2017-11-15 11:56


Источник


Кажется, я помню этих мышей запомнить их настройки, поэтому я задаюсь вопросом, существует ли уже существующая раскладка клавиатуры - Journeyman Geek♦
Согласно руководству этой мыши, он специально предназначен для выполнения этих операций в Windows 8. F.e. то, что вы называете кнопкой «вперед» (как на M500), помечено в руководстве «показать рабочий стол Windows 8». Поэтому я уверен, что мышь действительно отправляет эти события и специально предназначена для Windows 8. В руководстве также упоминается, что для Windows 7 для работы требуется специальное программное обеспечение, так что продолжайте рисовать. - Bobby
@ Путешественник-geek Я думал, что keymap получен из драйвера kernel / evdev плюс любые настройки X-сервера. - xander.pl
@bobby Я видел, что квадратная кнопка должна открывать некоторые ящики, если это то, что они вызывают в win 8, но коды клавиш не соответствуют соответствующему сочетанию клавиш. Logitech разрабатывает программное обеспечение SetPoint, которое позволяет вам сопоставлять ваши ключи, как вам нравится, так и для разных приложений, но это единственная вещь для Windows. - xander.pl
не обязательно, многие современные мыши фактически хранят раскладки клавиатуры на борту. - Journeyman Geek♦


Ответы:


Вы можете переназначить ключи через udev. Мышь действует как клавиатура. Здесь есть работа: https://bugzilla.redhat.com/show_bug.cgi?id=1035668


5
2017-12-19 15:50



Спасибо за обходной путь, однако это не сработало в моем случае. У меня есть Logitech M560 и Logitech K750R, подключенные через один унифицирующий приемник. Когда я применяю обходной путь, некоторые клавиши-модификаторы и буква «d» перестают работать на клавиатуре, в то время как дополнительные кнопки мыши тоже не работают. Может ли это быть вызвано тем, что они используют один унифицирующий приемник? Благодаря! - Anton Beloglazov
Да. Работа вокруг в настоящее время переназначает вызовы клавиатуры для унифицированного приемника. Это означает, что вы не можете использовать M560 и другую беспроводную клавиатуру Logitech. - Jerone Young
Спасибо за ваш ответ, Джерон! Знаете ли вы о каком-либо другом потенциальном решении, которое могло бы решить эту проблему? - Anton Beloglazov


это моя конфигурация:

~$ cat .xbindkeysrc |egrep -v "^$|^#"
"xte 'mouseclick 2'"
    m:0x50 + c:134

Таким образом, если сделано "Работа«средняя кнопка.

Я выбираю текст, который мне нужно скопировать / вставить, удерживая правую кнопку, после выбора, куда вставить кнопку «Я». Если вам нужно снова вставить один и тот же текст, так как квадратная кнопка не поднимает одинаковые события каждый раз, я нажимаю ее быстро дважды.

Если вы выберете другой текст, событие, разбросанное по квадратной кнопке, всегда будет таким, чтобы xte эмулировал средний клик.

Не совершенен, но лучше, чем средний клик.


1
2017-08-20 08:21





Мне жаль, что я был этим парнем, но, пожалуйста, несите меня. Я использую мыши Logitech и указывающие устройства на нескольких машинах, Windows, Linux и обоих, без проблем. Даже тачпад T650, который рекламировался как устройство Windows 8, отлично работал в Linux с обновлением прошивки. M560 просто невозможно заставить работать на 100% правильно ни в чем, кроме Windows, без чрезмерных хаков. Вы можете поменять местами с кем-то еще на более старую / рабочую модель, или вы сможете получить возмещение, поскольку от упаковки совсем не ясно, что мышь не совместима ни с чем, кроме Windows, но я действительно хотел бы Рекомендуем потратить много времени на это.

Я лично изгнал свой M560 на HTPC, который не получает много использования мыши.


0
2017-09-29 01:24





Это 2018 год, с моим KDE Fedora 25, ядром 4.13.16-100.fc25.x86_64, а кнопка среднего квадрата M560 работает как обычная средняя кнопка (кнопка 2).


-1
2018-03-02 18:03