Jak wyłączyć klawiaturę?

10

Bez odłączania klawiatury chciałbym wyłączyć ją z terminala; Miałem nadzieję, że można to zrobić za pomocą, rmmodale w oparciu o moje aktualnie załadowane moduły nie wygląda na to, aby było to możliwe.

Czy ktoś ma jakieś pomysły?

Gilles „SO- przestań być zły”
źródło
1
Moduł HID („ludzkie urządzenie interfejsu”) jest prawdopodobnie wbudowany. Niektóre urządzenia USB mogą nie być takie, więc możesz spróbować wyciągnąć jedną z nich ( lsmod | grep usb).
goldilocks 17.09.13

Odpowiedzi:

15

Są tutaj całkiem dobre wskazówki, jak to zrobić, zatytułowane: Wyłącz / włącz klawiaturę i mysz w systemie Linux .

Przykład

Za pomocą tego polecenia możesz wyświetlić listę urządzeń.

$ xinput --list
"Virtual core pointer"  id=0    [XPointer]
"Virtual core keyboard" id=1    [XKeyboard]
"Keyboard2"     id=2    [XExtensionKeyboard]
"Mouse2"        id=3    [XExtensionKeyboard]

I wyłącz klawiaturę w ten sposób:

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

I włącz to za pomocą tego:

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

Działa to tylko w celu wyłączenia klawiatury za pomocą X. Więc jeśli korzystasz z systemu, w którym X nie działa, to nie zadziała.

Lista właściwości

Możesz użyć tego polecenia, aby uzyskać listę wszystkich właściwości dla danego urządzenia:

$ xinput --list-props 2
Device 'Virtual core keyboard':
    Device Enabled (124):   1
    Coordinate Transformation Matrix (126): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
slm
źródło
2
Czy zostanie ponownie aktywowany, jeśli zostanie odłączony i ponownie podłączony? Może być trudne, aby uzyskać odpowiedź z maszyny (chyba że jest to laptop) inaczej :)
terdon
Tak, te pytania dotyczące wyłączania urządzenia zawsze wydają się być załadowane dla fragmentu „OK, więc jak je ponownie włączyć”.
slm
Dodałbym, że wyłącza to klawiaturę tylko dla X11, a nie dla żadnego TTY. Nadal możesz przełączyć się na TTY za pomocą Ctrl + Alt + F?
Raphael Ahrens,
@ RaphaelAhrens - tak, powiedziałem to w odpowiedzi, ale dziękuję za powtórzenie.
slm
2
@terdon Przed eksperymentowaniem upewnij się, że masz działające połączenie SSH.
Gilles „SO- przestań być zły”