xdotool нажмите клавишу по коду ключа (нажмите клавишу выбора)

, поэтому я пытаюсь сделать комбинацию клавиш с помощью xdotool. Единственное, что мне не хватает, и что не могу понять, как это сделать:

Как нажать клавишу выбора на моей клавиатуре. В более общем случае, и это также решит мою проблему, как нажать клавишу, используя xdotool на основе кода ключа (если вы знаете о другой программе, которая может это сделать, я не против использовать это вместо этого).

У меня есть клавиатура с окнами, и есть эта «кнопка выбора» (в промежутке между alt gr и right ctrl), при нажатии открывается меню правой кнопки мыши (рядом с тем, где находится курсор ввода). Мне нужно как нажимать клавишу, используя xdotool на основе кода key . Я узнал (используя showkey -k), что код ключа этого ключа равен 127, но я не могу заставить xdotool нажать его.

Любые идеи о том, как это сделать?

PS: Я знаю, что могу имитировать щелчок правой кнопкой мыши по xdotool click 3, но это не помогает, потому что правый щелчок происходит там, где указатель мыши, и мне нужно, чтобы это произошло там, где находится курсор ввода.

Спасибо:)

1
задан 7 April 2017 в 14:06

4 ответа

Проблема решена благодаря комментарию от Jacob Vlijm.

Имя кнопки можно найти следующим образом: запустите xev, затем нажмите кнопку, и имя появится в скобках. В моем случае это было: keycode 135 (keysym 0xff67, Menu), здесь Menu - это имя ключа.

Тогда я мог бы запустить xdotool Menu. Однако, чтобы заставить его работать с пользовательским ярлыком, мне пришлось добавить sleep до него, поэтому я закончил с этим кодом:

sleep 0.5 && xdotool key 'Menu' sleep 0.01 && xdotool key 's' sleep 0.01 && xdotool key 'e'

, и он работает! :)

BTW: Цель всего этого заключалась в том, чтобы быстро переключаться между языками правописания в Chrome.

1
ответ дан 18 July 2018 в 15:23

Проблема решена благодаря комментарию от Jacob Vlijm.

Имя кнопки можно найти следующим образом: запустите xev, затем нажмите кнопку, и имя появится в скобках. В моем случае это было: keycode 135 (keysym 0xff67, Menu), здесь Menu - это имя ключа.

Тогда я мог бы запустить xdotool Menu. Однако, чтобы заставить его работать с пользовательским ярлыком, мне пришлось добавить sleep до него, поэтому я закончил с этим кодом:

sleep 0.5 && xdotool key 'Menu' sleep 0.01 && xdotool key 's' sleep 0.01 && xdotool key 'e'

, и он работает! :)

BTW: Цель всего этого заключалась в том, чтобы быстро переключаться между языками правописания в Chrome.

1
ответ дан 24 July 2018 в 20:37

Проблема решена благодаря комментарию от Jacob Vlijm.

Имя кнопки можно найти следующим образом: запустите xev, затем нажмите кнопку, и имя появится в скобках. В моем случае это было: keycode 135 (keysym 0xff67, Menu), здесь Menu - это имя ключа.

Тогда я мог бы запустить xdotool Menu. Однако, чтобы заставить его работать с пользовательским ярлыком, мне пришлось добавить sleep до него, поэтому я закончил с этим кодом:

sleep 0.5 && xdotool key 'Menu' sleep 0.01 && xdotool key 's' sleep 0.01 && xdotool key 'e'

, и он работает! :)

BTW: Цель всего этого заключалась в том, чтобы быстро переключаться между языками правописания в Chrome.

1
ответ дан 31 July 2018 в 23:39

При добавлении сочетания клавиш на Ubuntu 18.04 необходимо явно запустить подпроцесс:

/bin/bash -c "sleep 0.4 && xdotool key Menu"
0
ответ дан 27 August 2018 в 08:25

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

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