4

Я использую ноутбук с Ubuntu 12.04 и хочу отключить Fn+F8 из скрипта, чтобы отключить сенсорную панель.

Когда я набираю команду xdotool key fn , она печатает

(symbol) No such key name 'fn'. Ignoring it.
(symbol) No such key name 'fn'. Ignoring it.

Как я могу отправить ключ Fn?

---------------------------- обновление 13 июня ------------------- ---------------

Таким образом, клавиша Fn не может быть отправлена через язык программы? /usr/include/linux/input.h строку 614, я вижу:

#define KEY_FN 0x1d0

это также не работает, посылая сигнал? Или это не код клавиши Fn?

---------------------------- обновление 26 июня ------------------- ---------------

В последнее время я провел тест на Fn+F8, используя C. Я cat /dev/input/event3 и вижу, что код Fn+F8 равен 240 что

#define KEY_UNKNOWN     240

и некоторый другой код. Я чувствую себя синим. Может быть, тачпад обрабатывается аппаратно, как сказал пользователь 49740.

но команда может отключить тачпад с помощью ОС

xinput set-prop 'ETPS/2 Elantech Touchpad' 'Device Enabled' 0

однако он не может изменить состояние подсветки сенсорной панели. И Fn+F8 не может включить или отключить тачпад.

2 ответа2

7

Нет. Клавиша Fn обрабатывается аппаратно, а не ОС.

4

Нажатие клавиши Fn не отправляет какой-либо код клавиши в операционную систему, поэтому вы не можете подделать нажатие клавиши Fn .

Однако некоторые комбинации клавиш Fn+еще посылают коды клавиш. Например, комбинации клавиш play/pause/next/prev всегда отправляют коды клавиш

Из терминала вы можете запустить программу xev , которая открывает простое окно. Теперь вы можете нажимать различные клавиши и комбинации клавиш, и коды клавиш, полученные X11 будут отображаться в терминале. Вы можете нажать Fn+F8 и посмотреть, показывает ли xev какой-либо вывод

К сожалению, на большинстве ноутбуков комбинация клавиш «отключить сенсорную панель» обрабатывается аппаратно, поэтому вы должны найти другой способ отключения сенсорной панели.

Если вы используете тачпад Synaptics, вы должны посмотреть на synclient или syndaemon. Например, в этой статье говорится, что synclient TouchpadOff=1 отключает сенсорную панель, а synclient TouchpadOff=0 включает ее

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .