Как отключить и включить клавиатуру в Ubuntu?
Как отключить и включить клавиатуру в Ubuntu?
У меня большие проблемы, потому что мне не хватает места my keyboard а также some other things на моей парте. А случайное нажатие какой-либо клавиши может вызвать проблемы в системе. Поэтому я ищу способ временно заблокировать клавиатуру. Конечно, я не хочу подключать клавиатуру к компьютеру, потому что это очень неудобно.
Как я могу сделать с этим?
xinput -list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech USB Optical Mouse id=9 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ CHICONY HP Basic USB Keyboard id=8 [slave keyboard (3)]
↳ HP WMI hotkeys id=10 [slave keyboard (3)]
4 ответа
Чтобы отключить / включить клавиатуру, просто нажмите Ctrl+Alt+T на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду (ы) ниже:
xinput -list

Как только вы найдете свой идентификатор, то
sleep 0.1 ; xinput set-prop 9 'Device Enabled' 0 ; sleep 5 ; xinput set-prop 9 'Device Enabled' 1
сон 5 - это количество секунд (я полагаю), что вы хотите отключить клавиатуру.
Для получения дополнительной информации о команде xinput см. ManPage.
Или вы можете использовать утилиту блокировки клавиатуры.
Бег xinput -list и найти идентификатор для AT Translated Set 2 keyboard как указано в принятом ответе. Вам может понадобиться установить xinput первый.
Я создал следующий скрипт и запускаю его через Launcher, который я могу щелкнуть мышью. Каждый раз, когда вы нажимаете на него, он включает или выключает клавиатуру. замещать 13 с идентификационным номером вашей клавиатуры.
#!/bin/bash
if [[ $(<~/.keyboard-status) == "enabled" ]]; then
xinput --disable 13
echo "disabled" > ~/.keyboard-status
else
xinput --enable 13
echo "enabled" > ~/.keyboard-status
fi
Чтобы автоматизировать как включение, так и отключение внутренней клавиатуры ноутбука из командной строки, сценарий оболочки был написан для моего личного использования по адресу https://github.com/anitaggu/ikbdop.
Краткое руководство на YouTube также доступно по адресу https://youtu.be/LvoIwqFutlg .
Я думаю, что это может быть проще.
Добавьте эту функцию в конце.bashrcфайл (или .zshrc или .profile и т. д.).
handleKeyboard() {
if [ -z "$1" ]; then
DEVICES_STRING=$(xinput --list | grep 'AT Translated Set 2 keyboard' | tr " " " " | tr " " " " | tr " " " ")
while [[ $DEVICES_STRING = *" "* ]]; do
DEVICES_STRING="${DEVICES_STRING// /}"
done
DEVICES_STRING=$(echo "$DEVICES_STRING" | cut -d" " -f 7)
DEVICES_STRING="${DEVICES_STRING//id=/}"
DEVICE_ID="$DEVICES_STRING"
else
DEVICE_ID=$1
fi
FILE_PATH=~/.keyboard-status-"$DEVICE_ID"
FILE_STATUS=$(<"$FILE_PATH")
if [ -z "$FILE_STATUS" ] || [ "$FILE_STATUS" = "enabled" ]; then
xinput --disable "$DEVICE_ID"
echo "disabled" >"$FILE_PATH"
echo "keyboard $DEVICE_ID disabled"
else
xinput --enable "$DEVICE_ID"
echo "enabled" >"$FILE_PATH"
echo "keyboard $DEVICE_ID enabled"
fi
}
И после этой функции вам нужно только создать псевдоним, например:
alias handle_keyboard="handleKeyboard"