Как отключить и включить клавиатуру в 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"
Другие вопросы по тегам