Купил на днях себе мышку: Logitech Gaming Mouse G300
Небольшая, симпатичная, недорогая, кнопок много и профили DPI запоминает - что ещё для счастья надо? Чтобы работала в линуксе - это же очевидно! Вот только, когда я тащил её домой, ну никак не мог предположить, что уж с такой элементарной штучкой, как мышка, линукс будет глючить, но как оказалось...
Пришёл, подключил:
Загружаю линь. Хм-м-м, странно, что-то не так, почему-то левая кнопка мыши при нажатии делает всё что угодно, только не клик на выбранном элементе. Ок, подключаем мышу к компу с виндой - всё норм. Странно.
Возвращаемся обратно, грепаем логи:
Щито? Keyboard? Да ну? Ок, смотрим, что там у нас в устройствах ввода:
Device Enabled (121): 1 - Устройство включено. Выключаем:
Работает! Теперь, нужно автоматизировать, берём скрипт из обожаемой нами всеми убунтушниками арч-вики и пихаем в автозагрузку.
Небольшая, симпатичная, недорогая, кнопок много и профили DPI запоминает - что ещё для счастья надо? Чтобы работала в линуксе - это же очевидно! Вот только, когда я тащил её домой, ну никак не мог предположить, что уж с такой элементарной штучкой, как мышка, линукс будет глючить, но как оказалось...
Пришёл, подключил:
Загружаю линь. Хм-м-м, странно, что-то не так, почему-то левая кнопка мыши при нажатии делает всё что угодно, только не клик на выбранном элементе. Ок, подключаем мышу к компу с виндой - всё норм. Странно.
Возвращаемся обратно, грепаем логи:
$ dmesg | grep G300
[ 2.648301] input: Logitech Gaming Mouse G300 as /devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/input/input2
[ 2.648389] generic-usb 0003:046D:C246.0001: input,hidraw0: USB HID v1.10 Mouse [Logitech Gaming Mouse G300] on usb-0000:00:1d.1-2/input0
[ 2.659127] input: Logitech Gaming Mouse G300 as /devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.1/input/input3
[ 2.659226] generic-usb 0003:046D:C246.0002: input,hiddev0,hidraw1: USB HID v1.10 Keyboard [Logitech Gaming Mouse G300] on usb-0000:00:1d.1-2/input1
[ 2.648301] input: Logitech Gaming Mouse G300 as /devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/input/input2
[ 2.648389] generic-usb 0003:046D:C246.0001: input,hidraw0: USB HID v1.10 Mouse [Logitech Gaming Mouse G300] on usb-0000:00:1d.1-2/input0
[ 2.659127] input: Logitech Gaming Mouse G300 as /devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.1/input/input3
[ 2.659226] generic-usb 0003:046D:C246.0002: input,hiddev0,hidraw1: USB HID v1.10 Keyboard [Logitech Gaming Mouse G300] on usb-0000:00:1d.1-2/input1
Щито? Keyboard? Да ну? Ок, смотрим, что там у нас в устройствах ввода:
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech Gaming Mouse G300 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)]
↳ USB Keyboard id=10 [slave keyboard (3)]
↳ USB Keyboard id=11 [slave keyboard (3)]
↳ Logitech Gaming Mouse G300 id=9 [slave keyboard (3)]
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech Gaming Mouse G300 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)]
↳ USB Keyboard id=10 [slave keyboard (3)]
↳ USB Keyboard id=11 [slave keyboard (3)]
↳ Logitech Gaming Mouse G300 id=9 [slave keyboard (3)]
Действительно, Logitech Gaming Mouse G300 записалась в клавиатуры :-D Почему так происходит? А хрен его знает, надо багрепорт разработчикам иксов писать :-D
Гуглим решение, находим тут, смотрим свойства устройства по его идентификатору, в моём случае id=9.
$ xinput list-props 9
Device 'Logitech Gaming Mouse G300':
Device Enabled (121): 1
Coordinate Transformation Matrix (123): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (247): 0
Device Accel Constant Deceleration (248): 1.000000
Device Accel Adaptive Deceleration (249): 1.000000
Device Accel Velocity Scaling (250): 10.000000
Evdev Axis Inversion (251): 0, 0
Evdev Axis Calibration (252): <no items>
Evdev Axes Swap (253): 0
Axis Labels (254): "Abs Misc" (264), "Abs Misc" (264), "Abs Misc" (264), "Abs Misc" (264)
Device 'Logitech Gaming Mouse G300':
Device Enabled (121): 1
Coordinate Transformation Matrix (123): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (247): 0
Device Accel Constant Deceleration (248): 1.000000
Device Accel Adaptive Deceleration (249): 1.000000
Device Accel Velocity Scaling (250): 10.000000
Evdev Axis Inversion (251): 0, 0
Evdev Axis Calibration (252): <no items>
Evdev Axes Swap (253): 0
Axis Labels (254): "Abs Misc" (264), "Abs Misc" (264), "Abs Misc" (264), "Abs Misc" (264)
Device Enabled (121): 1 - Устройство включено. Выключаем:
$ xinput set-prop 9 121 0
Работает! Теперь, нужно автоматизировать, берём скрипт из обожаемой нами всеми убунтушниками арч-вики и пихаем в автозагрузку.
#!/bin/sh DEVICE_ID=`xinput list | grep "Logitech Gaming Mouse G300" | grep keyboard | sed 's/.*id=\([0-9]*\).*/\1/'` if xinput -list-props $DEVICE_ID | grep "Device Enabled" | grep "1$" > /dev/null then xinput set-int-prop $DEVICE_ID "Device Enabled" 8 0 fi
Например, в кедах достаточно кинуть исполняемый файл со скриптом в /home/user/.kde/Autostart/
Комментариев нет:
Отправить комментарий