2017-12-15 3 views
0

터치 스크린 장치의 kioskmode에서 X, Openbox 및 Chromium을 사용하는 우분투 서버 (16.04.3 LTS)를 실행하고 있습니다. 키오스크에 바로 (비 루트) 사용자로 시작합니다.Openbox : 전체 키보드 비활성화

은 마우스 나 키보드가 필요 없다, 그래서 나는 효과적으로 마우스를 비활성화 무엇

startx -- -nocursor 

로 X를 시작 해요. 그러나 사용자는 여전히 키보드를 연결하고 Chromium으로 모든 종류의 원치 않는 작업을 수행 할 수 있습니다. 그래서 전체 키보드를 비활성화하는 방법을 찾고 있습니다.

Openbox에서 모든 단일 키와 키 조합을 캐치 및 비활성화하려면 rc.xml은 불가능한 것 같습니다. 그래서 startx 또는 Openbox를 사용하여 키보드를 비활성화하는 스위치가 있습니까? (-nokeyboard을 시도했지만 오류가 발생하고 -keyboard null이 작동하지 않습니다.)

또는 마지막 수단으로 사용자 로그인시 키보드와 마우스를 사용하지 않도록 설정하는 방법이 있습니까?

답변

1

xinput은 귀하의 도구입니다.

xinput --list으로 키보드의 ID를 찾으십시오. 가능한 출력 :

⎡ Virtual core pointer      id=2 [master pointer (3)] 
⎜ ↳ Virtual core XTEST pointer    id=4 [slave pointer (2)] 
⎜ ↳ SynPS/2 Synaptics TouchPad    id=11 [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)] 
↳ Video Bus         id=7 [slave keyboard (3)] 
↳ Power Button        id=8 [slave keyboard (3)] 
↳ HP Webcam         id=9 [slave keyboard (3)] 
↳ AT Translated Set 2 keyboard    id=10 [slave keyboard (3)] 
↳ HP WMI hotkeys       id=12 [slave keyboard (3)] 
↳ HP Wireless hotkeys      id=13 [slave keyboard (3)] 

Get id는 AT Translated ... keyboard입니다. 이 경우는 10입니다. 을 키보드 입력이 :

xinput --disable 10 

한 라이너 :

xinput --disable $(xinput list | grep "AT Translated" | cut -f2 | cut -d= -f2) 

(당신은 그냥 일치하는 ID를 사용, 마우스 또는 터치 패드와 동일한 기능을 수행 할 수 있습니다.)

P .: 키보드를 연결하지 않은 상태에서 키보드 입력을 볼 수 있는지 또는 키보드를 연결 한 후에 추가 키보드 입력이 표시되는지 확실하지 않습니다. 지금 하드웨어를 검사 할 하드웨어가 없습니다. 새 키보드를 감시하고 xinput --disable [...]을 실행하는 udev 규칙을 만들어야 할 수도 있습니다.

관련 문제