Xmodmap 없이 컨트롤에 슈퍼 키 매핑

Xmodmap 없이 컨트롤에 슈퍼 키 매핑

MacBook의 X에서 슈퍼 키와 컨트롤 키를 전환하려고 시도했는데 이미 절반 정도 완료했습니다. 가능하다면 커스텀 .

약간의 조사 끝에 "XkbOptions" "altwin:ctrl_win" 옵션을 01-keyboard-layout.conf 파일에 넣었는데, 그 결과 절반 정도 도달했습니다. 예를 들어 왼쪽 명령은 이제 133 Control_L에 매핑됩니다. 그러나 컨트롤 키는 변경되지 않습니다. 예를 들어 왼쪽 컨트롤은 여전히 ​​37 Control_L에 매핑되어 있습니다.

evdev.lst(및 여러 인터넷 검색)를 검색한 결과 제어 키를 슈퍼 키로 전환하는 관련 XkbOption이 없다는 것이 밝혀졌고 이제 막혔습니다.

나는 현재 Doug Palmer의 광기를 검토하고 있습니다.신뢰할 수 없는 XKB 구성 가이드그러나 그가 묘사한 대로 그것은 지옥으로 내려가는 일이었습니다.

이전에 이 스위치를 사용해 본 적이 있고 이를 수행하기 위한 정확한 규칙/기호/키맵을 알고 있는 사람이라면 누구나 큰 도움이 될 것입니다.

감사해요!

답변1

아래의 해결 방법은 질문자의 해결 방법보다 간단합니다. (Dell에서 실행되는 Ubuntu 14.04에서 테스트되었습니다.)

1) 파일에서 /usr/share/X11/xkb/keycodes/evdev교환하려는 키의 스캔 코드(번호)를 교환합니다. 참고: 귀하의 하드웨어는 evdev.

2) sudo rm /var/lib/xkb/*.xkmxkb 캐시 지우기를 실행한 후 재부팅하세요.

답변2

글쎄, 드디어 작동하게 됐어요.

첫째, 이 두 가지 리소스는 이 난잡한 상황을 더 깊이 탐구하려는 모든 사람에게 놀라운 것입니다.

http://madduck.net/docs/extending-xkb/&http://www.charvolant.org/~doug/xkb/html/index.html

특별히 이 전환을 시도하는 사람을 위해 제가 수행한 작업은 다음과 같습니다.

1) /usr/share/X11/xkb/symbols에 새 매핑을 위한 파일을 만듭니다. 2) 다음 위치에 넣습니다.

// Control is SWAPPED with Win-keys 
partial modifier_keys
xkb_symbols "cmd_n_ctrl" {
    key <LWIN> {        [       Control_L               ]       };
    key <RWIN> {        [       Control_R               ]       };
    key <LCTL> {       [       Super_L         ]       };
    modifier_map Control { <LWIN>, <RWIN> };
    modifier_map Mod4 { <LCTL> };
};

3: 다음을 포함하도록 /usr/share/X11/xkb/rules에서 evdev를 편집합니다.

altwin2:cmd_n_ctrl               =       +altwin2(cmd_n_ctrl)

(옵션 = 기호 섹션 아래)

4: evdev.lst(동일 디렉터리)에 새 옵션을 추가합니다.

altwin2:cmd_n_ctrl

(옵션 섹션 아래)

5: 이제 생성한 새 옵션을 포함하도록 01-Keyboard conf 파일을 편집합니다. 내 모습은 다음과 같습니다.

Section "InputClass"
        Identifier "keyboard-layout"
        Driver "evdev"
        MatchIsKeyboard "yes"
        Option "XkbLayout" "us, ru, ca, fr"
        Option "XkbOptions" "altwin2:cmd_n_ctrl"
EndSection

6: 재부팅하면 사용할 수 있습니다.

위의 리소스는 이 모든 내용이나 발생할 수 있는 장애물을 더 잘 설명할 수 있습니다. 이 작업을 수행하는 더 좋은 방법이 있을 수 있지만(아마도 /usr/share의 내용을 변경하지 않고) 지금까지는 이것이 나를 시작하고 실행하게 만드는 것입니다.

이것이 이 곤경에 처한 다른 사람들에게 도움이 되기를 바랍니다!

관련 정보