2009-10-13 7 views
7

키보드에 하나 이상의 "레이아웃"을 추가하는 방법을 찾고 있습니다. 나는 이미 지역 알파벳 문자에 altgr을 사용하는 레이아웃을 사용하고있다. 내가 추가하고자하는 것은 대문자 - 자물쇠 (http://xkcd.com/mirrorboard.xkb에 설명 된 것)로 활성화 된 대칭 된 오른손 쪽 키보드입니다.더 많은 수식어로 키보드 다시 매핑

불행히도 ISO_LEVEL3_SHIFT은 이미 지역 알파벳으로 찍었습니다. (AFAIK) 그룹을 바꾸기 위해 mode_shift을 사용하면 더 이상 그룹에서 2 개 이상의 레벨을 사용할 수 없습니다. altgr과 mode_shift에 대해 서로 다른 그룹을 만드는 방법이 있습니까?

+0

이 질문은 기본적으로 저수준 해킹이 필요한 다소 특이한 방식으로 키맵을 컴파일하는 것에 관한 것입니다. 수퍼 유저에게 맡긴다 고 생각했지만 응답이 없습니다. 프로그래밍에 더 가깝습니다 (예 - 이것은 기본적으로 xkb 프로그래밍입니다). 설정을 수정하는 것 (수퍼 유저가 전문적으로하는 것)보다. – viraptor

답변

11

각 키 코드 정의에는 최대 8 개의 키 심을 가질 수 있습니다. 이들은 4 개의 그룹으로 쌍으로 구성됩니다. 키섬 계열 ISO_Next_Group, ISO_Prev_Group, ISO_First_GroupISO_Last_Group이 있으며 키를 누르면 keysym 그룹간에 키를 치면서 keysym 출력이 순환됩니다. 이 키는 여러 레이아웃을 얻는 방법입니다. ISO_Next_Group 가정 예를 들어

는,이 정의를 들면, 수정에 키 코드에 바인딩 및 할당되었습니다
keycode 53 = x X Greek_xi Greek_XI multiply U2297 U24E7 U24CD

는 "X"에서 유형의 레이블 "X"내 키보드 키를 눌러 . ISO_Next_Group 키를 누른 후 "ξ"를 얻습니다. 다시 누르면, "×"가됩니다. 그것을 다시 누르면, "ⓧ". 마지막으로 네 번째로 누르면 정상으로 되돌아갑니다.


며칠 보내고 갖는 (Xkb¹ 끔찍한 문서를 가지고 있기 때문에, 마지막으로 괜찮 가이드 here을 발견),이 같은 항목이 심볼 정의 파일을 만들 수 있습니다

 
    key <SPCE> { 
// Level I  II  III IV 
     [ space, space, U2395, U2592 ], // Group 1 
     [ U2423, emspace, U2420, hairspace ] // Group 2 
    }; 

    key <RALT> { 
     [ Mode_switch, Mode_switch ] 
    }; 

    key <RCTL> { 
     [ ISO_Level3_Shift, ISO_Level3_Shift ] 
    }; 

브래킷은 단일 묶 그룹. 일반적으로 첫 번째 그룹이 활성 상태입니다. 그룹은 ISO_Group_Shift, a.k.a. Mode_switch으로 일시적으로 1 씩 증가 할 수 있습니다. 그룹 내에서 배출되는 기호는 증가하는 수준으로 정의됩니다. 레벨 I는 벌거 벗은 키를 가지고 있습니다. Shift은 현재 레벨에 1을 더합니다. ISO_Level3_Shift은 레벨을 III로 설정합니다.

위의 예제는 일곱 개 스페이스 바 기호를 더한 다양한 시프트 키 등이 매핑

:

공간 ⟨⟩ U + 0020 SPACE
Shift + 공간 ⟨⟩ U + 0020 SPACE
을 R. Alt + 공간 ⟨␣⟩ U + 2423 OPEN BOX
R. Alt + 시프트 + 공간 ⟨⟩ U + 2003 EM 스페이스
R.는 Ctl + 공간 ⟨⎕⟩ U + 2395 APL 기능성 SYMBOL QUAD
R.는 Ctl +는 + 공간 ⟨▒⟩ U + 2592 MEDIUM 그늘
R. Alt + R 시프트. Ctl. + space ⟨␠⟩ U + 2420 스페이스의 심볼
R. Alt + R. Ctl.+ Shift + 공간 ⟨⟩ U + 200A 헤어 SPACE

핵심 ISO_Level5_Shift 당신이 한 단계에 대한 최소한 6 개 문자를 가질 수 있도록 레벨 V.에 대한도있다. 모드 전환 키를 사용하면 약 1,200 개의 별개의 기호를 입력하도록 키보드를 구성 할 수 있지만 그 시점에서 많은 수식어로 인해 몇 개의 키가 비활성화 될 수 있습니다.

P. 모든 명명 된 기호의 이름은 /usr/include/X11/keysymdef.h에 저장됩니다.


¹는 xmodmap을 (1) 및 버되지 것은 나온다.

+0

궁금한 점이 있습니다 - 수정자를 키로 만드는 방법이 있습니까? 그래서 그것은 언론에서 ISO_Next_Group을하고 릴리스에서 ISO_Prev_Group을합니까? – viraptor