Есть ли способ отключить внутреннюю клавиатуру ноутбука?

Неделю назад я пролил содержимое своей чашки на клавиатуру ноутбука. Половина клавиш больше не работает, кроме одной! Буква Q, которая очень активна регулярно.

Это очень беспокоит меня во время работы.

Есть ли способ отключить внутреннюю клавиатуру ноутбука?

Возможно ли это с xmodmap?

Вы можете использовать xinput чтобы переместить устройство ввода под X.

  1. Выполните команду xinput list чтобы перечислить ваши устройства ввода.
  2. Разместить AT Translated Set 2 keyboard и принять к сведению его id номер; это будет использоваться для отключения клавиатуры. Кроме того, обратите внимание на номер в конце, [slave keyboard (#)]; это идентификационный номер master, который будет использоваться для повторного включения вашей клавиатуры.
  3. Чтобы отключить клавиатуру, выполните команду xinput float <id#>, где <id#> это идентификационный номер вашей клавиатуры. Например, если в id был 10, тогда команда будет xinput float 10.
  4. Чтобы снова включить клавиатуру, выполните команду xinput reattach <id#> <master#>, где master это тот второй номер, который мы записали. Так что, если число было 3, вы бы сделали xinput reattach 10 3.

Вот демонстрация:

 список $ xinput⎡ Идентификатор указателя виртуального ядра=2 [главный указатель (3)]⎜ ↳ Идентификатор указателя виртуального ядра XTEST=4 [ведомый указатель (2)]⎜ ↳ Идентификатор сенсорной панели SynPS/2 Synaptics=11 [ведомый указатель (2)]⎜ ↳ Идентификатор оптической мыши Logitech USB-PS/2=12 [указатель ведомого устройства (2)]⎜ ↳ Объединяющее устройство Logitech. Беспроводной PID: 4004 id=13 [указатель ведомого устройства (2)]⎣ Идентификатор клавиатуры виртуального ядра =3 [главная клавиатура (2)] ↳ Идентификатор клавиатуры виртуального ядра XTEST=5 [ведомая клавиатура (3)] ↳ Идентификатор кнопки питания =6 [ведомая клавиатура (3)] ↳ Идентификатор видеошины=7 [ведомая клавиатура (3)] ↳ Идентификатор кнопки сна=8 [ведомая клавиатура (3)] ↳ Идентификатор веб-камеры Acer CrystalEye=9 [ведомая клавиатура (3)] ↳ При переводе установлен идентификатор клавиатуры 2=10   [подчиненная клавиатура (3)]$ xinput с плавающей запятой 10 список $ xinput⎡ Идентификатор указателя виртуального ядра=2 [главный указатель (3)]⎜ ↳ Идентификатор указателя виртуального ядра XTEST=4 [ведомый указатель (2)]⎜ ↳ Идентификатор сенсорной панели SynPS/2 Synaptics=11 [ведомый указатель (2)]⎜ ↳ Идентификатор оптической мыши Logitech USB-PS/2=12 [указатель ведомого устройства (2)]⎜ ↳ Объединяющее устройство Logitech. Беспроводной PID: 4004 id=13 [указатель ведомого устройства (2)]⎣ Идентификатор клавиатуры виртуального ядра =3 [главная клавиатура (2)] ↳ Идентификатор клавиатуры виртуального ядра XTEST=5 [ведомая клавиатура (3)] ↳ Идентификатор кнопки питания =6 [ведомая клавиатура (3)] ↳ Идентификатор видеошины=7 [ведомая клавиатура (3)] ↳ Идентификатор кнопки перехода в режим ожидания=8 [ведомая клавиатура (3)] ↳ Идентификатор веб-камеры Acer CrystalEye=9 [ведомая клавиатура (3)]∼ При переводе набора 2 идентификатор клавиатуры=10 [плавающий подчиненный]$ xinput повторное подключение 10 3 список $ xinput⎡ Идентификатор указателя виртуального ядра=2 [главный указатель (3)]⎜ ↳ Идентификатор указателя виртуального ядра XTEST=4 [ведомый указатель (2)]⎜ ↳ Идентификатор сенсорной панели SynPS/2 Synaptics=11 [ведомый указатель (2)]⎜ ↳ Идентификатор оптической мыши Logitech USB-PS/2=12 [указатель ведомого устройства (2)]⎜ ↳ Объединяющее устройство Logitech. Беспроводной PID: 4004 id=13 [указатель ведомого устройства (2)]⎣ Идентификатор клавиатуры виртуального ядра =3 [главная клавиатура (2)] ↳ Идентификатор клавиатуры виртуального ядра XTEST=5 [ведомая клавиатура (3)] ↳ Идентификатор кнопки питания =6 [ведомая клавиатура (3)] ↳ Идентификатор видеошины=7 [ведомая клавиатура (3)] ↳ Идентификатор кнопки спящего режима=8 [ведомая клавиатура (3)] ↳ Идентификатор веб-камеры Acer CrystalEye=9 [ведомая клавиатура (3)] ↳ Идентификатор клавиатуры AT Translated Set 2=10 [ведомая клавиатура (3)]

Вот небольшая кнопка переключения для включения и отключения определенной клавиатуры.Во-первых, вы должны найти свой идентификатор клавиатуры с помощью xinput или xinput-list.

Скрипт Bash для включения/ выключения клавиатуры

#!/bin/bashIcon="/PATH/TO/ICON_ON"Icoff="/PATH_TO_ICON_OFF"fconfig=".keyboard" id=12if [ ! -f $fconfig ];    then        echo "Creating config file"        echo "enabled" > $fconfig        var="enabled"    else        read -r var< $fconfig        echo "keyboard is : $var"fiif [ $var = "disabled" ];    then        notify-send -i $Icon "Enabling keyboard..." \ "ON - Keyboard connected !";        echo "enable keyboard..."        xinput enable $id        echo "enabled" > $fconfig    elif [ $var = "enabled" ]; then        notify-send -i $Icoff "Disabling Keyboard" \ "OFF - Keyboard disconnected";        echo "disable keyboard"        xinput disable $id        echo 'disabled' > $fconfigfi

Конфигурация

  • Icon как путь к значку, который будет отображаться при включении (например, /home/user/path/icon.png)
  • Icoff как путь к значку, который будет отображаться при отключении
  • Я использовал следующие значки :enter image description hereenter image description here

  • id в качестве идентификатора клавиатуры (нашел его с помощью xinput)

  • fconfig путь к конфигурационному файлу. Измените, если вы хотите создать файл конфигурации в другом каталоге

Не пытайтесь запустить скрипт, если вы не можете запустить его снова без использования клавиатуры (если, конечно, у вас нет другой клавиатуры). Создайте следующую программу запуска (в home/user/.local/share/applications) и добавьте его в unity :

Запись на рабочий стол (Unity launcher)

[Desktop Entry]Version=1.0Type=ApplicationName=Clavier ON-OFFIcon=PATH/TO/YOUR/ICONExec=bash NAME_OF_YOUR_SCRIPT.shPath=PATH/TO/YOUR/SCRIPTNoDisplay=falseCategories=Utility;StartupNotify=falseTerminal=false

результат :

Пусковая установка:

enter image description here

Уведомления:

enter image description hereenter image description here

Устройство idполучено от xinput list как было предложено в принятый ответ иногда каким-то образом изменяются при перезагрузке (по крайней мере, на моем компьютере), что приводит к отключению неправильного устройства.

Вот почему я перестал использовать device name вместо id, например:

xinput disable "AT Translated Set 2 keyboard"

Я подумал о 2 способах, которыми вы можете это сделать:

  1. Установив неправильную модель для клавиатуры вашего ноутбука в xorg.conf?

  2. Установив Блокировка клавиатуры для ребенка

"Lock-keyboard-for-Baby" или, короче говоря, lk4b - это небольшая программа, которая блокирует вашу клавиатуру, но оставляет мышь свободной. Я написал это, потому что моей племяннице нравится колотить по моей клавиатуре всякий раз, когда она видит, как я сажусь за нее. Клавиши, набранные на клавиатуре, могут иметь катастрофические последствия, и я не хотел постоянно блокировать экран заставкой.

При запуске lock-keyboard-for-baby открывает небольшое окно, которое захватывает клавиатуру и воспроизводит вводимые клавиши. По умолчанию он сообщает вам, что нужно ввести, чтобы выйти ("Выйти сейчас").

В отличие от экранной заставки, ваш экран не блокируется, и мышь все еще частично работает, так что вы все равно можете видеть, что находится на вашем экране - продолжайте смотреть телевизор / видео и / или читать документ, используя мышь для прокрутки.`

Требования:

>· GTK = 2.x· привязки perl GTK2 (perl-gtk2 или gtk2-perl в зависимости от вашей системы)

Чтобы навсегда Отключить внутреннюю клавиатуру Ноутбука В Ubuntu, Необходимо передать это i8042.nokbd Параметры ядра, чтобы не проверять/не создавать порт клавиатуры

i8042.nokbd [HW] Don't check/create keyboard port

Откройте терминал и выполните следующую команду

$sudo gedit /etc/default/grub

Попробуйте найти следующую строку

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Добавить параметр i8042.nokbd, приведенная выше строка должна выглядеть следующим образом

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i8042.nokbd"

Обновите grub с помощью следующей команды

$sudo update-grub     

Затем reboot ваш портативный компьютер.

Один из верных способов отключить его - отсоединить сигнальный кабель. Для этого вам нужно открыть клавиатуру. Для получения информации о том, как это сделать, ознакомьтесь с Руководство по техническому обслуживанию и техническому обслуживанию ноутбуков HP Pavilion dv9000 и dv9200 .

Теперь есть способ отключить клавиатуру с помощью xinput. Чтобы сделать это, просто нажмите Ctrl+Alt+T на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните приведенные ниже команды.

Чтобы перечислить устройства, которые ваш X

xinput --list

Чтобы отключить клавиатуру:

xinput set-int-prop 2 "Device Enabled" 8 0

Чтобы снова включить клавиатуру:

xinput set-int-prop 2 "Device Enabled" 8 1

Если вы получаете сообщение об ошибке в отношении разрешений, используйте приведенные выше команды с sudo.

Следовательно, я обнаружил:

$ xinput с плавающей запятой идентификатор#;сон t;повторное подключение xinput идентификатор# мастер#

t -время спать в считанные секунды

идентификатор# и мастер# как уже упоминалось выше (начало страницы)

Например, в моем терминале:

$ xinput с плавающей запятой 11;сон 5;повторное подключение xinput 11 3

Попробуйте запустить xmodmap -e 'keycode 24=' чтобы отключить только клавишу Q. Если это сработает, вы могли бы добавить его в свой ~/.bashrc или глобальный /etc/bash.bashrc файл. Я получил эту идею от здесь, который показывает все сопоставления ключей.

Как бы то ни было, основываясь на предыдущих ответах и моей собственной игре, я создал следующий скрипт, который я называю toggle_keyboard.sh и место в моем ~/bin путь. У меня есть сочетание клавиш, которое запускает его, установленное на CtrlWinK.

Некоторые проблемы с предыдущими ответами и преимущества моего скрипта:

  • Полагаться на идентификационный номер с помощью xinput не удается при перезагрузке и изменении идентификационного номера. Это случилось со мной, когда я бегал xinput float 13. В итоге я отключил не то оборудование.
  • Полагаться на файл для сохранения включенного / отключенного состояния также не удастся, если вы перезагрузитесь. Файл сообщит вам, что клавиатура отключена (если вы отключили ее с помощью скрипта), но после перезагрузки она снова будет включена. Мое решение получает информацию о включении / отключении из проанализированной команды xinput.
  • Мой скрипт будет работать с любым устройством xinput, которое отображается при вводе текста xinput list --name-only. Просто введите имя и отредактируйте четыре верхние переменные. Я использую его для клавиатуры своего ноутбука, веб-камеры, сенсорного монитора и нескольких других вещей, которые я использую только изредка.

#!/bin/bash# Toggle the laptop keyboard either on or off and notify the user about it# Device name can be found by typing this command: xinput list --name-onlyDEVICE_NAME="AT Translated Set 2 keyboard"# The display name of the device in the notify-send popupDEVICE_DISPLAY_NAME="Laptop Keyboard"# Set these to the icons you want to use.# If they are not found, the notification will still work.ICON_ENABLE="$HOME/.icons/keyboard.png"ICON_DISABLE="$HOME/.icons/keyboard_disabled.png"function xinput_set_prop() {        xinput set-prop "$DEVICE_NAME" "Device Enabled" $1}function notify_change() {        if [ -f "$1" ]; then                notify-send --urgency=low --icon="$1" "$2"        else                notify-send --urgency=low "$2"        fi}# Returns 1 if device is enabled, 0 if disabledis_enabled=$(xinput list-props "$DEVICE_NAME" | grep "Device Enabled" | awk '{ print $4 }' | sed 's/[^0-9]*//g')if [ $is_enabled -eq 1 ]; then        # device is enabled, so disable it        xinput_set_prop 0        notify_change "$ICON_DISABLE" "$DEVICE_DISPLAY_NAME Disabled"else        # device is disabled, so enable it        xinput_set_prop 1        notify_change "$ICON_ENABLE" "$DEVICE_DISPLAY_NAME Enabled"fi

Если вам нужен более динамичный способ отключения клавиатур, я создал маленький индикатор приложения которые позволяют вам включать и / или отключать ваши устройства. Как вы поступили бы с xinput, но без открытия терминала, перечисления вручную, ввода команды и т.д.

A menu listing devices that can be disabled or enabled.

Он находится в a PPA, так что вы можете установить его с помощью

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 03BBACDA765F39D9A14EEDE4425F3F9343B40373sudo add-apt-repository ppa:brandizzi/ppasudo apt install input-device-indicator

Чтобы вызвать его, вам просто нужно выполнить input-device-indicator (который можно добавить в программы запуска сеанса) или найдите "Индикатор устройства ввода" через HUD (или как там это называется в наши дни).

Это довольно грубо, и многое можно было бы улучшить, но при необходимости это очень полезно. Не совсем то, что нужно OP (в этом случае клавиатура не должна быть включена), но я регистрирую ее здесь для тех, кто может найти ее полезной.

Самым простым способом было бы поднять клавиатуру и отсоединить ее от материнской платы. Затем вы можете поместить его обратно туда, где он был, без подключения. Таким образом, клавиатура будет отключена после переустановки, и вам не нужно будет возиться с программным обеспечением.
Смотрите эту ссылку, примерно на полпути вниз по странице, где она переходит к клавиатуре: How to disassemble HP Pavilion dv9000 – Inside my laptop

Какой марки и модели это ноутбук?

это HP pavilion dv9000

Возможно, также стоит вынуть его, разобрать на части и почистить между слоями…

“пользователь ищет программное решение, давайте предоставим ему / ей аппаратный подход”