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

간단한 하우투도 업로드되어 있습니다.유튜브

답변3

위에서 언급한 방법 중 어느 것도 Wayland에서는 작동하지 않습니다. 다른 데스크톱 환경에 대해서는 잘 모르겠지만 sway-wm에서 특정 키보드의 특정 키를 비활성화하는 가장 쉬운 방법은 keyd를 사용하는 것입니다. 그러나 터미널이 필요하므로 이 작업이 완료될 때까지 실제 키보드를 제거한 후 USB 키보드를 사용하는 것이 좋습니다.

  1. 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) 비활성화하려는 키보드 키의 키코드를 감지합니다.

방법 A:

이 방법은 F1, F2, F3...등이 아닌 일반 키를 비활성화하려는 경우에만 작동합니다.

이 답변을 읽으면서 내 답변의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 -> 클릭하세요.요소를 점검하다또는검사, 이 코드를콘솔탭을 누르고 Enter를 누르세요.

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

마우스 왼쪽 버튼으로 내 답변을 다시 클릭하고 비활성화하려는 키를 누르면 숫자가 인쇄되는 것을 볼 수 있습니다.콘솔브라우저의.

해당 번호를 복사하고 다음 단계를 따르세요.

방법 B:

이 방법은 키보드의 모든 키에 작동해야 합니다 열어단말기을 클릭하고 xev다음과 같이 유틸리티를 사용하십시오.

$ xev -event keyboard

작은 창이 열리면 비활성화하려는 키보드의 키를 누르고 작은 창을 닫으면 터미널에 출력이 표시됩니다. 이 출력 중 다음과 같은 내용이 표시됩니다 keycode 93. 해당 키보드 키의 키코드를 복사하고 다음 단계를 따르세요.

2) 키를 비활성화합니다.

열어단말기을 클릭하고 xmodmap다음과 같이 유틸리티를 사용하십시오.

xmodmap -e 'keycode <value>='
  • 위 의 내용 대신에 <value>다음으로 대체하십시오.키 코드1단계에서 방법 A 또는 B를 얻었습니다.

관련 정보