Переместите кнопку мыши, чтобы действовать как клавиша управления

ОК, так что я нашел лучшее возможное решение. Просто загрузите и установите установщик Yumi Multiboot в windows. Скачать здесь. Следуйте инструкциям и сохраните свою техническую поддержку. После установки одного установщика ОС вы можете перейти к установке другого. Это, наверное, самое легкое решение, которое я мог найти. И теперь у меня есть 4-гигабайтный ручковый накопитель с окнами 7 и установщиком ubuntu 12.04.

Приветствия!

1
задан 1 June 2013 в 22:02

1 ответ

Некоторые настольные среды (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-устройства id = 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
ответ дан 25 May 2018 в 06:34
  • 1
    это, похоже, не отвечает на вопрос вообще; set-button-map может изменять только кнопки мыши, а не привязывать их к клавише клавиатуры – Eevee 3 February 2017 в 12:39

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

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