1) Определите код клавиши на клавиатуре, которую вы хотите отключить:

1) Определите код клавиши на клавиатуре, которую вы хотите отключить:

Моя клавиатура повреждена, клавиша [é] на клавиатуре всегда нажата, и это мешает мне работать. В Windows я нашел программное обеспечение SharpKey, чтобы отключить кнопку [é], но в Ubuntu я не могу найти решение. На многих форумах говорят о Xmodmap, но я не могу работать на терминале, так как кнопка [é] часто НАЖАТА. Пожалуйста, не могли бы вы дать мне решение этой проблемы. Спасибо

решение1

Что бы я попробовал:

  1. Подключите туда USB-клавиатуру или войдите в систему с помощью ssh.

  2. Откройте терминал и запустите xev -event keyboard. Он покажет что-то на экране. Если вы опустите аргументы, вы заметите, что он покажет что-то еще, если вы также подвигаете мышью.

  3. Затем нажмите комбинацию клавиш, которую вы хотите отключить [é]. Информация на экране изменится, и вам придется искать значение keycode.

  4. Выполните что-то вроде этого, изменив <value>значение на то, которое вы получили keycodeна последнем шаге:

    xmodmap -e 'keycode <value>='
    

    Например, если я хочу отключить клавишу ~(Shift + `), мне придется выполнить:

    xmodmap -e 'keycode 49='
    

Я пробовал это только с большим количествомстандартныйключи, какCaps Lock... но я думаю, что это должно сработать и с этим. Надеюсь, это поможет!

решение2

Простой bash-скрипт для моего личного использования был загружен по адресуhttps://github.com/anitaggu/ikbdop.

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

./ikbdop.sh detach

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

./ikbdop.sh attach

Краткое руководство также размещено на сайтеYouTube

решение3

Ни один из вышеперечисленных методов не работает на Wayland. Я не уверен насчет других сред рабочего стола, но самый простой способ отключить определенную клавишу на определенной клавиатуре на sway-wm — использовать keyd. Однако для этого требуется терминал, и я бы посоветовал вам использовать USB-клавиатуру после извлечения физической клавиатуры, пока это не будет сделано.

  1. Клонируйте keyd с GitHub, соберите его и запустите демон.
git clone https://github.com/rvaiya/keyd
cd keyd
make && sudo make install
sudo systemctl enable keyd && sudo systemctl start keyd
  1. Найдите название проблемной клавиши и клавиатуры. Запустите, sudo keyd monitorчтобы получить что-то вроде этого:
device added: 0fac:0ade keyd virtual keyboard (/dev/input/event20)
device added: 03f0:5341 PIXART HP Wireless Keyboard and Mouse Consumer Control (/dev/input/event18)
device added: 03f0:5341 PIXART HP Wireless Keyboard and Mouse (/dev/input/event17)
device added: 03f0:5341 PIXART HP Wireless Keyboard and Mouse (/dev/input/event7)
device added: 06cb:7f13 Synaptics TM3253-001 (/dev/input/event5)
device added: 0001:0001 AT Translated Set 2 keyboard (/dev/input/event0)
keyd virtual keyboard   0fac:0ade   enter up
keyd virtual keyboard   0fac:0ade   kp5 down

У меня подключены две клавиатуры. Одна PIXART HP Wirelessс 03f0:5341, а другая AT Translated Set 2 keyboardс 0001:0001. Эти коды — то, что keyd использует для распознавания ваших клавиатур. Так что запишите код и название клавиши для следующего шага. В последнем столбце указаны названия клавиш. Здесь я оставил enterи нажал kp5.

  1. Отредактируйте файл /etc/keyd/default.confследующим образом:
[ids]
0001:0001 #code of attached keyboard from earlier
[main]
kp5 = noop #Ignore the key 'kp5'
  1. Окончательно,sudo keyd reload

Чтобы отключить определенную клавишу на всех клавиатурах. Отредактируйте default.confуказанное выше как

[ids]
*
[main]
kp5 = noop

решение4

1) Определите код клавиши на клавиатуре, которую вы хотите отключить:

Метод А:

Этот метод работает только в том случае, если вы пытаетесь отключить обычные клавиши, а не F1, F2, F3 и т. д.

Пока вы читаете этот ответ, щелкните правой кнопкой мыши в любом месте моего ответа -> щелкнитеОсмотреть элементилиОсмотреть, вставьте этот код вконсольвкладку и нажмите Enter:

window.addEventListener('keypress', (e) => console.log(e.keyCode) )

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

скопируйте этот номер и следуйте следующему шагу.

Метод Б:

этот метод должен работать с любой клавишей на вашей клавиатуре ОткройТерминали используйте xevутилиту следующим образом:

$ xev -event keyboard

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

2) Отключить клавишу:

ОткройТерминали используйте xmodmapутилиту следующим образом:

xmodmap -e 'keycode <value>='
  • вместо вышесказанного <value>замените его наключевой кодвы получили из шага 1 метод A или B.

Связанный контент