Я хочу сделать кнопку на клавиатуре, чтобы она действовала как щелчок мышью, предпочтительно используя xmodmap. Как это сделать?
Запуск Ubuntu 10.10.
Я хочу сделать кнопку на клавиатуре, чтобы она действовала как щелчок мышью, предпочтительно используя xmodmap. Как это сделать?
Запуск Ubuntu 10.10.
Ответы:
Следующие шаги помогут вам перенести ваши клавиши клавиатуры на кнопки мыши.
Определите клавиатуру с помощью xev
утилиты.
Запуск утилиты xev и повторное нажатие клавиши клавиатуры выведет что-то вроде этого
KeyPress event, serial 37, synthetic NO, window 0x3e00001,
root 0x82, subw 0x0, time 28977858, (-419,294), root:(175,613),
state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
Обратите внимание на код ключа, который будет переопределен.
Запустите утилиту xkbset
xkbset m
Переопределите с помощью утилиты xmodmap.
В приведенном ниже случае кнопка меню переназначается на правую кнопку мыши.
xmodmap -e "keycode 135 = Pointer_Button3"
Я полагаю, что вы могли бы сделать это, используя xmodmap и раскладку Pointer_Button1.
Посмотрите в файле /usr/include/X11/keysymdef.h точную орфографию и заглавные буквы, но должна быть возможность привязать клавиатуру к кнопке мыши (1,2,3 и т. Д.), Даже двойной щелчок ( посмотрите заголовочный файл, около строки 460 или около того)
keysym W = Pointer_Button1
МОЖЕТ работать, в результате чего клавиша W действует как левая кнопка мыши. Я бы порекомендовал использовать другой ключ, если вы не используете W, но все, что вам подходит. (нет, я не собираюсь пробовать это сам, мне нужны мои W!)
Также посмотрите справочную страницу для xmodmap и, конечно же, содержимое /usr/include/X11/keysymdef.h, чтобы получить правильное написание. Удалите префикс XK_, чтобы использовать имена keysym для xmodmap.
Похоже, что он (keysymdef.h) в пакете x11-proto-core-dev для моей системы Debian ... вы можете искать файл и его содержимое в Интернете, но сомневаетесь, что хотите установить все файлы -dev, просто получите это. GIYF.
Что-то щекотно в моей голове о другом способе сделать это, но ничего не приходит ко мне только сейчас.
ОЙ! В зависимости от ваших потребностей, вы можете взглянуть на эмуляцию клавиатуры, с помощью которой цифровая клавиатура превращается в полнофункциональную двухкнопочную (без колеса прокрутки!) Мышь.
Option XkbOptions "keypad:pointerkeys"
. Нажатие клавиш - не единственный способ включить это: xkbset m
делает это в соответствии с crunchbang.org/forums/viewtopic.php?id=27937 и может контролировать неприятное время ожидания, а также отключать его из командной строки .
Это можно сделать с помощью встроенного режима «Эмуляция клавиатуры» и / но с предварительно настроенными комбинациями клавиш для эмуляции различных щелчков мыши и нажатий (для перетаскивания).
(К вашему сведению: комбинация клавиш для включения этого была удалена из стандартной таблицы клавиш некоторое время назад и теперь нуждается Option XkbOptions "keypad:pointerkeys"
.)
Нажатие на клавишу - не единственный способ включить этот режим:
xkbset m
делает это в соответствии с http://crunchbang.org/forums/viewtopic.php?id=27937 и может контролировать неприятное время ожидания, а также отключать его из командной строки. Чтобы отключить неприятный таймаут:
xkbset exp =m
Таким образом, xkbset
это действительно более удобно (чем иметь ключ только для включения этого режима), потому что xkbset
дает больший контроль над предпочтительным временем ожидания и т. Д.
Numpad используется. Некоторые основные комбинации (больше на http://en.linuxreviews.org/HOWTO_use_the_numeric_keyboard_keys_as_mouse_in_XOrg :
/
, *
, -
Предназначено для выбора влево, средней или правой кнопки;5
для нажатия с выбранной кнопкой;0
и .
для нажатия и отпускания выбранной кнопки (для перетаскивания и т. д.)Я не всегда мог включить «Эмуляцию клавиатуры». Поэтому я положился на специальный ключ (как вkeypad:pointerkeys
), чтобы сделать это.
Я обнаружил, что Xfce тоже при запуске xkbset m
запускал эти настройки, поэтому, если он запускается до Xfce, то настройка не активна. Поэтому мне пришлось изменить настройку в конфигурации Xfce, чтобы она соответствовала моему общему желанию, а именно: Настройки Xfce: Доступность: Мышь: включить эмуляцию . (Источник, о котором я узнал о существовании такой опции Xfce, был: https://bugzilla.xfce.org/show_bug.cgi?id=3860 .) Похоже, это помогло. (Я также отключаю свою тачпад с помощью xinput float ...
; это запутано переключением между консолями Linux, но можно обойти снова, отключив это устройство по крайней мере в настройках Xfce.)
setxkbmap -option keypad:pointerkeys
будет делать то, что вы хотите. Затем смена номера.