Переназначение кнопки мыши в качестве клавиши управления [дубликат]

У меня есть мышь Logitech darkfeild (та, которая работает на стекле), и мне было интересно, как я могу переназначить одну из моих в настоящее время неиспользуемых кнопок (моя кнопка масштабирования), чтобы она функционировала как выбранная кнопка клавиатуры (управление или ужин)? .... Я также использую 13.04 .... К вашему сведению.

Спасибо

5
задан 1 June 2013 в 21:02

2 ответа

Я нашел весьма полезными эти ссылки Тима назад ...

] / Руководство-для-настройки-Performance MX-мышь-на-Linux-с-KDE / TD-P / 517167

0
ответ дан 1 June 2013 в 21:02

В некоторых средах рабочего стола (DE) в сочетании с различными оконными менеджерами (WM) может быть достигнута небольшая функциональность при вводе с помощью мыши, однако она может не охватывать одну неясную настройку, которую мы могли бы изменить. В моем случае я использую мышь Logitech M510 на всех своих машинах, но вместо того, чтобы использовать кнопки обзора «вперед» и «назад» (кнопки большого пальца), я предпочитаю использовать их для средней кнопки мыши. , Когда я провожу час или больше моделирования в Blender, мой средний палец болит иначе. Чтобы внести это изменение, мне нужно настроить само устройство X с помощью команды «xinput».

Сначала мне нужно найти устройство, с которым мы хотим работать, в данном случае - мышь Logitech M510. Это можно сделать, сначала перечислив все устройства X с помощью команды xinput следующим образом:

$ xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Microsoft Natural® Ergonomic Keyboard 4000        id=11   [slave  pointer  (2)]
⎜   ↳ Logitech Unifying Device. Wireless PID:1025       id=12   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=15   [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)]
     ↳ Video Bus                                 id=7    [slave  keyboard (3)]
     ↳ Power Button                              id=8    [slave  keyboard (3)]
     ↳ Sleep Button                              id=9    [slave  keyboard (3)]
     ↳ Microsoft Natural® Ergonomic Keyboard 4000        id=10   [slave  keyboard (3)]
     ↳ BisonCam, NB Pro                          id=13   [slave  keyboard (3)]
     ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]

Обратите особое внимание, что моя мышь находится под указателем виртуального ядра и точкой, в которой она подключена к компьютер (через USB) как идентификатор устройства X = 12. Не то, что нам это нужно, а потому что приятно знать, что если бы нам понадобилось больше информации об устройстве, мы бы сделали следующее (где 12 - идентификатор устройства X):

$ xinput list 12
Logitech Unifying Device. Wireless PID:1025     id=12   [slave  pointer  (2)]
        Reporting 7 classes:
                Class originated from: 12. Type: XIButtonClass
                Buttons supported: 24
                Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right" "Button Side" "Button Extra" "Button Forward" "Button Back" "Button Task" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown"
                Button state:
                Class originated from: 12. Type: XIValuatorClass
                Detail for Valuator 0:
                  Label: Rel X
                  Range: -1.000000 - -1.000000
                  Resolution: 1 units/m
                  Mode: relative
                Class originated from: 12. Type: XIValuatorClass
                Detail for Valuator 1:
                  Label: Rel Y
                  Range: -1.000000 - -1.000000
                  Resolution: 1 units/m
                  Mode: relative
                Class originated from: 12. Type: XIValuatorClass
                Detail for Valuator 2:
                  Label: Rel Horiz Wheel
                  Range: -1.000000 - -1.000000
                  Resolution: 1 units/m
                  Mode: relative
                Class originated from: 12. Type: XIValuatorClass
                Detail for Valuator 3:
                  Label: Rel Vert Wheel
                  Range: -1.000000 - -1.000000
                  Resolution: 1 units/m
                  Mode: relative
                Class originated from: 12. Type: XIScrollClass
                Scroll info for Valuator 2
                  type: 2 (horizontal)
                  increment: 1.000000
                  flags: 0x0
                Class originated from: 12. Type: XIScrollClass
                Scroll info for Valuator 3
                  type: 1 (vertical)
                  increment: -1.000000
                  flags: 0x2 ( preferred )

Переконфигурирование функций кнопок Теперь просто изменить карту кнопок. Мы получим существующую карту кнопок следующим образом:

$ xinput get-button-map 12 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24    

Это текущая карта кнопок. Думайте об этом как о массиве кнопок, и каждое из значений является «функцией» кнопки в этом индексе. К сожалению, я не могу вспомнить, как я пришел к такому выводу, но на моей мыши я хочу изменить функции кнопок 8, 9 и 10, чтобы они вели себя как кнопка 2. Я делаю это, изменяя номера функций для этих кнопок. Кнопки и установите его обратно как карту кнопок для устройства X следующим образом:

$ xinput set-button-map 12 1 2 3 4 5 6 7 2 2 2 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Чтобы сделать это постоянным решением, я добавляю вышеупомянутую команду в мой .profile, который будет выполняться при входе в систему. Однако идентификатор устройства может меняться от загрузки к загрузке в зависимости от того, какие устройства подключены к компьютеру. Чтобы избежать этого, можно использовать grep и awk, чтобы найти идентификатор устройства и передать его команде xinput следующим образом:

MOUSE_ID=`xinput list | grep -i Logitech | awk -F= '{ print $2}' | awk '{print $1}'` `xinput set-button-map $MOUSE_ID 1 2 3 4 5 6 7 2 2 2 11 12 13 14 15 16 17 18 19 20 21 22 23`

Вышеуказанные строки добавляются в файл .profile, и устройство будет динамически размещаться. из списка xinput и переназначить функции кнопок так, как мы хотим. Однако обратите внимание, что Logitech в приведенном выше примере является расплывчатым (поскольку у меня есть только 1 устройство Logitech), поэтому из вывода команды xinput может потребоваться заполнить что-то более конкретное, чтобы grep соответствовал.

0
ответ дан 1 June 2013 в 21:02

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

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