Як я можу призначити дії всім кнопкам миші?


28

У мене є миша з великою кількістю кнопок, але це не мейнстрім, як Logitech. Для Windows у мене є драйвер, який дозволяє мені призначати такі дії, як закрите вікно (Ctrl + W) або наступна вкладка (Ctrl + Tab), але у мене немає драйвера Linux. Оскільки Linux є таким гнучким, я думав, можливо, існує загальний спосіб зробити це, незалежно від марки?

Оновлення: На основі введення даних від Cyrex я встановив і запустив sudo apt-get install btnxдекілька кнопок миші, але не всі.
Знайдено: ліворуч, праворуч, колесо, колесо, великий палець, палець назад.
Не знайдено: колесо ліворуч, колесо праворуч, середня кнопка великого пальця.
Ідентифікатор постачальника - 0x04d9, ідентифікатор моделі - 0xa015.

Оновлення 2: У системі> Налаштування> Миша є значок лампочки для тестування швидкості подвійного клацання. Кожна робоча кнопка може вмикати та вимикати лампу, але відсутні кнопки не можуть. Здавалося б, Ubuntu не знає про ці кнопки і, таким чином, не реєструє їх клацання. Я думаю, мені потрібно полювати за драйвером, хоча, звичайно, миша - це, мабуть, простіший спосіб.


Поясніть, будь ласка, що таке кнопка миші 9.

@mateo_salta Зрозумів це за секунди до мене.

Чи використовуєте ви Unity?
int_ua

Що це зробити та модель?

@int_ua Так, я прагну використовувати системну конфігурацію максимально близьку до типової, наскільки я можу терпіти.
ændrük

Відповіді:


7

Якщо всі кнопки виявлені правильно, ви можете встановити btnx:

sudo apt-get install btnx АБО sudo aptitude install btnx

Потім перейдіть до: Програми -> Системні інструменти -> Btnx

Він має підтримку багатьох видів мишей


Я перевірив свою мишу за допомогою btnx, але вона не розпізнала всі мої кнопки. Чи вказує це на проблему з моєю мишкою (драйвером?) Або з btnx (навряд чи я здогадуюсь)?
Torben Gundtofte-Bruun

Я здогадуюсь між. Можливо, модуль миші неправильно виявляє мишу, тому й btnx не робить. Чи можете ви насправді натиснути всі кнопки та побачити, чи програма їх розпізнає, як-от тест клацання в налаштуваннях миші.
Луїс Альварадо

1
Я вибираю це як правильну відповідь, оскільки btnx дозволяє мені негайно перевірити кожну кнопку миші - це довів, що Ubuntu просто не знає про додаткові кнопки. Мені потрібно отримати мишу, зручну для Linux.
Torben Gundtofte-Bruun

19
btnx неможливо знайти - змінив ім'я пакета?
northben


27

У мене є MX Anywhere "M-R0001"

Я використовую свої кнопки вперед та назад як Copy and Paste.

Етапи:
1) Усі кнопки виявляються з останнім ядром ... принаймні з

uname -a

3.8.0-25-generic #37-Ubuntu SMP Thu Jun 6 20:47:07 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

2) Отже, в основному вам потрібно лише відобразити ці кнопки з бажаними діями. Як дізнатися, що натискається кнопка та відповідний числовий код? Ну, ви можете скористатися програмою 'xev':

xev

Ця програма є ключем для миші та подій миші. Під час запуску ви можете побачити вікно, в якому ви можете натискати кнопки миші і бачити, чи вони виявлені. Наприклад, за допомогою кнопки масштабування Performance MX ви побачите щось таке:

ButtonPress event, serial 35, synthetic NO, window 0x5800001,
    root 0x15a, subw 0x0, time 64521438, (84,117), root88,144),
    state 0x10, button 13, same_screen YES

це означає, що 13 - код для цієї кнопки миші. Ви можете спробувати всі кнопки миші на руці ... для легкого доступу, ось карта для Performance MX:

  • Кнопка "Назад": 8
  • Кнопка вперед: 9
  • Кнопка масштабування: 13
  • Показати кнопку Windows: 10

інші кнопки добре розпізнані, і вам не потрібно відображати дії.

3) Тепер вам потрібно встановити невелику програму, щоб перепланувати входи миші та клавіатури. Маг - це "xbindkeys" ... проста установка використовує:

sudo apt-get install xbindkeys

4) Після встановлення ви можете робити магію. Ідея полягає у налаштуванні кнопок миші для надсилання комбінацій клавіш для активації інших функцій робочого столу (адже фактично xbindkeys можуть використовуватися для виконання будь-якої іншої програми при натисканні кнопки миші). У KDE ви можете це зробити за допомогою комбінації клавіш Ctrl + F10. Суть у тому, щоб створити файл конфігурації xbindkeys, щоб виконати роботу.

5) Щоб створити файл конфігурації, просто запустіть таку команду:

xbindkeys --defaults > $HOME/.xbindkeysrc

6) І нам потрібно відредагувати файл, щоб вказати відображення вашої кнопки:

gedit $HOME/.xbindkeysrc

7) Нам потрібно додати наші конфігурації від кнопки до клавіші. Наприклад, у мене є таке:

# Back changed to Copy
"xte 'keydown Control_L' 'key C' 'keyup Control_L'"
  b:8

# Forward
"xte 'keydown Alt_L' 'key Right' 'keyup Alt_L'"
  b:9

# Present desktops
"xte 'keydown Control_L' 'key F8' 'keyup Control_L'"
  b:13

# Present windows
"xte 'keydown Control_L' 'key F10' 'keyup Control_L'"
  b:10

8) Була нова вимога. програма "xte", яка в основному імітує комбінації натискань клавіш користувача. Встановіть його за допомогою:

sudo apt-get install xautomation

Тепер, якщо ви працюєте на терміналі щось на кшталт:

xte 'keydown Control_L' 'key F10' 'keyup Control_L'

це означає моделювати клавішу Ctrl+ F10. Ідея полягає у використанні xbindkeys, щоб сказати: "коли я натискаю 13-ту кнопку миші, надішліть Ctrl+ F10натискання клавіатури за допомогою програми xte для створення цього"

9) І нарешті, вам потрібно налаштувати 'xbindkeys' для автоматичного запуску під час запуску системи. Програми запуску / Додати кнопку програми та введіть '/ usr / bin / xbindkeys' у діалоговому вікні.

Зроблено


7
Крім того, як примітка, звичайно простіше скопіювати xev за допомогою xev | grep buttonкнопок миші ..
Seth

Для мене це чудово працює, за винятком того, що мені не довелося писати сценарій, щоб з якихось причин почати роботу з комп'ютера. Спасибі!
Шулея

Як би я пішов про створення кнопки миші, щоб вона діяла як інша кнопка миші? Здається, це стосується клавіш зокрема. Наприклад, я хочу, щоб кнопка 8 діяла так, як натискання кнопки миші. Це можливо за допомогою xte?
Шулея

10

введіть тут опис зображення

Easystroke - це програма розпізнавання жестів миші та менеджер жестів миші для дистрибутиву Ubuntu та інших Linux. це дозволяє користувачеві керувати додатком ubuntu за допомогою жестів миші рукою або малювати на екрані. Easystroke працює на планшетних ПК, його можна однаково добре використовувати мишкою, ручкою або навіть пальцями, якщо у вас сенсорний екран.

Встановіть Easystroke в Ubuntu

sudo apt-get install easystroke

Якщо ви хочете встановити easystroke через PPA, можете додати сховище PPA, введіть цю команду:

sudo add-apt-repository ppa:easystroke/ppa
sudo apt-get update
sudo apt-get install easystroke

Для користувачів Unity : EasyStroke ще не використовував аплет індикатора, тому коли ви запускаєте його з меню, у програмі Indicator Applet нічого немає. Щоб вирішити цю проблему, просто запустіть ці команди в терміналі:

easystroke -g

Він запустить EasyStroke та відкриє вікна конфігурації автоматично.

Джерело


Не впізнали зайві кнопки на Logitech G700.
Дан Даскалеску

5

Розпізнавання жестів Easystroke розроблено головним чином для створення користувацьких жестів вказівного пристрою , але його також можна використовувати для призначення дій простим натисканням кнопок.

Щоб використовувати його таким чином,

  1. Відкрийте вікно конфігурації .
  2. У налаштуваннях ▸ Поведінка ▸ Додаткові кнопки ▸ Додати , виберіть Миттєві жести та натисніть потрібну кнопку миші у сірому полі.

    Розпізнавання жестів Easystroke - Виберіть кнопку миші або ручки

  3. У розділі Дії натисніть Додати дію .

  4. Двічі клацніть у стовпці Сток, а потім знову натисніть потрібну кнопку миші.

  5. Клацніть стовпці Ім'я , Тип та Деталі, щоб налаштувати дію.

    Розпізнавання жестів Easystroke - дії


5

Якщо ви встановите диспетчер налаштувань CompizConfig, Встановіть менеджер налаштувань CompizConfig ви зможете встановити безліч ярликів кнопок управління вікнами.

Опрацювання, яка саме кнопка, може зайняти певні зусилля.

На скріншоті я призначаю відкрити перемикач Super + Tab лівою кнопкою миші на колесі прокрутки.

Знімок екрана


2

У Olli Salonen є власний ppa, який потрібно додати до вашого списку, якщо ви хочете встановити через apt. Ось інформація про додавання ppa.

https://launchpad.net/~daou/+archive/ppa

Крім того, це посилання може допомогти при встановленні на новішій версії Ubuntu, оскільки я бачу, що Оллі вже не активний.


1
і так , це посилання , яку ви при умови, що я шукав, дякую ще раз awesomelinux.blogspot.com/2012/08 / ...
user231354



1

У середині 2017 року, здається, не було оновленого пакету btnx для Ubuntu 16.04 LTS, і easystroke також, здається, більше не підтримується.

Я хотів призначити копіювати / вставляти двом додатковим кнопкам моєї (десятиліття, але перевіреної на бій) Microsoft IntelliMouse , і нарешті влаштувався на колесо , що описано на цій сторінці в Ubuntu Wiki .

Для довідки, ось моє ~/.imwheelrc:

# https://help.ubuntu.com/community/ManyButtonsMouseHowto

"^(Gnome-terminal|Tilda)"
None, Thumb1, Shift_L|Control_L|C
None, Thumb2, Shift_L|Control_L|Insert

".*"
None, Thumb1, Control_L|C
None, Thumb2, Control_L|V

# vim:ts=4:shiftwidth=4:syntax=sh

Для того, щоб почати тусовку інструменту з X - сервером, встановленим IMWHEEL_START=1в /etc/X11/imwheel/startup.conf.


0

Прийнята відповідь застаріла, ось оновлена ​​версія.

Ви вже повинні мати такі, як вони мають поставитись з Ubuntu, але запускайте це на всякий випадок.

sudo apt-get install libdaemon-dev libglade2-dev libgtk2.0-dev 

Тепер завантажте та встановіть

1) btnx-config 2) btnx У цьому порядку.

Щоб встановити:

Розпакуйте та перейдіть cdу кожну з цих папок.

У кожному з них запустіть:

./configure make
sudo make
sudo make install

Як тільки вони встановлені, запустіть

sudo btnx-config

На вкладці Конфігурації натисніть Визначити кнопки миші та кнопки

введіть тут опис зображення

На вкладці Кнопки призначте клавіші миші клавішу або функціональність. Переконайтесь, що ви встановили прапорець .

введіть тут опис зображення

Нарешті, на вкладці Конфігурації натисніть кнопку Перезапустити btx, щоб ваші зміни набрали чинності.

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.