Как отключить клавиатуру за исключением некоторых клавиш в Ubuntu? Всем привет.
Возникла следующая проблема: необходимо в Ubuntu 16.04 в рантайме уметь отключать клавиатуру (за исключением нескольких отдельных клавиш) и включать обратно.
Пробовал два способа:
1)
- Отключаем клавиатуру: $ xinput float %id (где %id - это код клавиатуры "AT Translated Set 2 keyboard" из $ xinput list)
- Биндим необходимые кнопки: $ xmodmap -e 'keycode code = ACTION'
Но судя по всему первой командой клавиатура отключается наглухо, поэтому последующие не имеют никакого эффекта. Т.ч. по факту имеем: клавиатура отключается, но часть кнопок включить обратно не получается.
2) пробовал создать два конфига для xmodmap: один с дефолтными биндингами кнопок, во втором для всех кнопок, кроме необходимых, выставлен NoSymbol. В целом работает, но т.к. есть необходимость в рантайме переключаться между этими конфигами, то напрягает то, что xmodmap подхватывает новый конфиг с задержкой в несколько секунд. Как итог - неудобства в использовании.
Может кто-то в курсе, как решить данную задачу правильно? Заранее спасибо.

21 Авг 2019 в 06:51
212 +1
0
Ответы
1

Можете попробовать следующий способ:

Создайте два файла с расширением .sh, например, disable_keyboard.sh и enable_keyboard.sh.

В disable_keyboard.sh добавьте следующий код для отключения клавиатуры за исключением необходимых клавиш:

#!/bin/bash
xinput float %id
xmodmap -e 'keycode code = ACTION'В enable_keyboard.sh добавьте следующий код для включения клавиатуры:#!/bin/bash
xinput reattach %id 2
xmodmap -e 'keycode code = default_action'

Замените %id на код клавиатуры "AT Translated Set 2 keyboard" и замените code, ACTION и default_action на нужные вам значения.

Сделайте файлы исполняемыми с помощью команды:

chmod +x disable_keyboard.sh
chmod +x enable_keyboard.shТеперь в рантайме вы можете запускать disable_keyboard.sh для отключения клавиатуры и запускать enable_keyboard.sh для включения клавиатуры снова.

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

20 Апр 2024 в 13:12
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир