원시 키보드 모드 란 무엇입니까?


27

에서 매직 SysRq를 키 조합, 조합이 alt+sysrq+r위키 피 디아에 따르면, 다음을 수행합니다 :

키보드를 X11 및 svgalib와 같은 프로그램에서 사용하는 원시 모드에서 XLATE 모드로 전환하십시오.

원시 모드 란 무엇입니까? XLATE 모드 란 무엇입니까?

XLATE 모드로 전환 한 후 원시 모드로 다시 전환 할 수 있습니까?

키보드가 어떤 모드인지 어떻게 알 수 있습니까?

답변:


23

키보드에서 키를 누르면 스캔 코드라는 숫자 코드를 컴퓨터로 보냅니다. 스캔 코드는 컴퓨터에 어떤 키를 눌렀는지 알려줍니다. 예를 들어, 일반적인 미국 키보드에서 A키를 누르면 스캔 코드 30을 전송하고 (릴리스를 놓으면 158) 스캔 코드를 전송합니다. 키보드 드라이버는 키보드가 원시 모드 일 때 이러한 코드를 응용 프로그램에 직접보고합니다 ( "raw"는 처리되지 않은 바로 키보드를 의미합니다). 일부 프로그램은 원시 모드를 사용하고 자체 키보드 처리를 수행합니다. X 서버는 가장 눈에 띄는 하나입니다.

대부분의 프로그램은 A키 를 누를 때 프로그램이 문자를 읽으며 a(ASCII 97) Shift+ 를 누를 때 A프로그램이 읽히고 A(ASCII 65) Ctrl+ 를 누를 때 A프로그램이 Ctrl+A문자를 읽습니다 (ASCII 1). 연관된 문자가없는 키는 예 \e[A를 들어 ESC 문자 (ASCII 27)가있는 Left등의 이스케이프 시퀀스를 보냅니다 \e. 키보드 드라이버는 키보드가 XLATE 모드 ( "번역"의 줄임말)라고도하는 ASCII 모드에있을 때이 변환을 수행합니다. XLATE 모드를 사용하면 "왼쪽 Shift 키를 눌렀습니다"또는 Ctrl + A와 다른 Ctrl + Shift + A와 같은 뉘앙스에 액세스하지 않고도 응용 프로그램에서 문자를 입력 할 수 있습니다.

kbd_mode당신이 모드 사이를 전환 할 수 있습니다, 그리고 쇼 당신은 어떤 인수없이 현재 모드를 호출합니다.

매직 SysRq 키 조합은 다양한 불쾌한 상황에서 복구하기위한 것입니다. 주요 조합 중 하나는 Alt+SysRq+K현재 가상 콘솔에서 모든 프로그램을 종료하는 것입니다. 해당 프로그램이 키보드를 원시 모드로 설정하면 로그인 프롬프트에서 입력 할 수 없습니다 (시스템 구성에 따라 종종 표시됨). 를 누르면 Alt+SysRq+R문자를 입력 할 수있는 일반적인 (X 외부) ASCII 모드가 복원됩니다.


9

키보드가 보내는 코드 유형을 정의 할 수 있습니다. 이것은 키보드 모드를 통해 이루어집니다. 을 사용하여 키보드 모드를 변경할 수 있습니다 kbd_mode.

맨 페이지의 옵션은 다음과 같습니다.

   -s: scancode mode (RAW),
   -k: keycode mode (MEDIUMRAW),
   -a: ASCII mode (XLATE),
   -u: UTF-8 mode (UNICODE).

눌린 키의 스캔 코드를 간단하게 얻을 수 있다면 개발자가 왼쪽 Shift 키를 누른 것과 같은 키 이벤트를 훨씬 쉽게 잡을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.