헝가리어 키보드에서 Ctrl+"특수 문자"가 해당 영어 레이아웃 키로 변환되는 이유는 무엇입니까?

헝가리어 키보드에서 Ctrl+"특수 문자"가 해당 영어 레이아웃 키로 변환되는 이유는 무엇입니까?

나는헝가리어 키보드터미널에서 Ctrl을 누르면 둘 중 하나가 öüóéá생성됩니다.영어 레이아웃, 그래서 0-=;'각각 kittygnome-terminal. Ctrl+는 őúű문자를 생성하지 않으며 두 에뮬레이터에서 작업을 약간 다르게 수행하는 것 같습니다. 키티에서 Ctrl+0은 0을 생성하고 Ctrl+í는 <를 생성하는 반면, gnome 터미널에서는 Ctrl+0은 아무 작업도 수행하지 않는 것처럼 보이며 Ctrl+í는 í를 생성합니다.

두 가지 관련 질문이 있습니다.

  • 문자가 아닌 생성 시퀀스가 ​​실제로 무엇을 하는지 알아내는 방법은 무엇입니까?
  • 이 행동에 대한 설명은 무엇입니까? 나는 이러한 비ASCII 문자에 "ctrl-i is tab" 유형의 문제가 있다고 가정합니다.

(이것은 명확한 대답이 없을 수도 있고 약간 관련이 없을 수도 있지만 미래에 터미널이 GUI 소프트웨어처럼 "일반적으로" 키 입력을 처리할 수 있습니까? 이 동작은 vim에서 키 입력을 매핑하려고 할 때 정말 짜증납니다 :))

답변1

키맵은 환경(X, 콘솔, 응용 프로그램...)에 따라 달라질 수 있으며 다루기가 가장 쉬운 것은 아니지만 도움이 될 수 있습니다.

키 매핑은 파일에 정의됩니다. 환경에서는 하나를 선택하고 키맵의 규칙에 따라 각 키코드를 해석하기 시작합니다.

이 헝가리어 키맵을 사용한다고 가정합니다(다른 배포판에서는 위치가 다를 수 있으며 이는 Debian에서 작동합니다)./usr/share/keymaps/i386/qwerty/hu101.kmap

zless( , , ...) 를 살펴보면 zcat현재 보고 있는 정보가 거의 다음과 같다는 것을 알 수 있습니다.

# Hungarian keymap for 101 key keyboards (iso8859-2)
...
include "linux-with-alt-and-altgr"
...
keycode  11 = +odiaeresis   +Odiaeresis doubleacute
alt     keycode  11 = Meta_zero

이것은 단지 정의합니다정상키와 Alt+ 키.

그렇다면 Ctrl+ 조합은 어디에서 왔습니까? 포함된 파일과 해당 파일을 찾을 때까지 해당 파일을 확인해야 합니다.

새 키맵을 추가하거나, 기존 키맵을 변경하거나, 그냥 수행할 수 있습니다.살다수정 사항 xmodmap(맨페이지의 많은 예) xmodmap특정 컴파일된 버전과 함께 작동하므로 포함 체인을 직접 살펴볼 필요가 없습니다.

왜 이런 일이 발생합니까? 글쎄 , 키보드를 현지화하는 사람들은 일반적으로 헝가리어 키보드의 위치와 같이 모든 사람이 동의하는 사항만 수정 Ö하고 보다 일반적인 키보드에서 나머지 구성을 상속받습니다 linux-bare-keys.pc101

Ctrl+무엇을 반환해야 합니까 Ö? 글로벌 합의에서 명확한 답변이 없는 경우 동일하게 유지되지만 사용자가 맞춤 설정할 수 있습니다.

Ctrl+ Ö, Ü, ... 를 분음 기호가 없는 버전에 매핑하는 새 키보드를 만들 수 있습니다 . 그것은 그런 것입니다 hungarian-ctrl-diaresisless. 모든 사람이 사용할 수 있다고 생각되면 패키지 관리자에게 제안할 수 있습니다.

관련 정보