Wayland를 사용하여 키보드 매핑을 사용자 정의하는 방법


20

영국 / GB 키보드와 함께 Macbook에서 Linux를 사용하고 Apple의 이상한 키보드 레이아웃으로 인한 일부 문제를 해결하기 위해 키맵을 사용자 정의합니다. 나는 이것을하기 xmodmap위해 사용 한다. Wayland를 시도하고 싶지만 그 기능 xmodmap은 작동하지 않습니다. Wayland에서 어떻게 비슷한 결과를 얻을 수 있습니까? .Xmodmap내가 사용 하는 파일에는 다음이 포함됩니다.

keycode  12 = 3 numbersign 3 sterling sterling sterling threesuperior sterling
clear Control
clear Mod4
add Control = Control_L Super_R
add Mod4 = Super_L
keysym Caps_Lock = NoSymbol Caps_Lock

1 행 : 영국 키보드에서 Shift- 3는 £이므로 보통 # 근처에 자체 키가 있습니다 Return. 그러나 Mac에서는 Altgr- 로 얻습니다 3. 프로그래머로서 나는 £보다 훨씬 더 많은 #을 사용 하므로이 줄은 그것들을 교환합니다. 미국 레이아웃을 선택하면이 작업을 수행 할 수 있지만 Linux에서 그렇게하면 일반적으로 사용되는 다른 키도 교체되지만 OS X에서는 다른 키가 미국 / 영국의 영향을받지 않습니다.

2-5 행 : 이 키보드에는 물리적 인 오른쪽 키 가 없으므로 오른쪽 키 가 CmdRight- 역할을 합니다.CtrlCtrl

6 행 :으로 CapsLock눌러야 작동합니다 Shift. Mac에만 국한되는 것은 아니며 모든 OS 및 키보드에 대한 표준 옵션이어야합니다.


나는 어느 정도 거기에있다 : Wayland는 xkb를 사용하고 xmodmap은 X에서 더 이상 사용되지 않습니다. 불행히도 xkb는 훨씬 더 복잡하기 때문에 그놈은 사용자가이를 사용자 정의해야한다고 생각하지 않았으므로 두 번째 질문을 제기 했습니다 .
realh

답변:


11

불행히도 시스템 XKB 데이터베이스를 수정하는 /usr/share/X11/xkb것이 유일한 방법입니다. 다른 질문 에서 당신은 그 부분이 효과가있는 것처럼 보입니다.

제한은 주로 Wayland의 미숙함과 XKB의 설계 감독으로 인한 것입니다.

  • 같은 도구 setxkbmapxkbcomp제공 -I(예를 들어, 검색 사용자 정의 데이터베이스를 추가하는 옵션 ~/.xkb또는 ~/.config/xkb파일과 시스템 데이터베이스와 같은 배치 하위 디렉토리와 등). 이러한 도구는 X 서버와 상호 작용하므로 XwaylandWayland에서 X 응용 프로그램을 실행하기 위해 호환성 계층을 구성하는 것이 유용 할 수 있습니다 . 그러나 그들은 현재 Wayland 프로토콜을 말하지 않습니다.

  • Wayland 프로토콜은 여전히 ​​성숙하고 있습니다. 현재 input-methodtext-input프로토콜이 가장 관련성이 있고 불안정합니다. 정의 된 키맵 변경에 대해서는 언급하지 마십시오. 이러한 세부 사항은 합성기에 남겨집니다.

  • 그놈과 KDE는 즉시 변경을 포함하여 시스템 XKB 옵션을 처리해야하는 키보드 처리 설정 데몬을 제공합니다. 내가 아는 한, 사용자 정의에 대해 말할 방법이 없습니다. 내가 아는 한 Weston 및 기타 컴포 지터는 시작시 XKB 옵션을 설정하기 위해 구성 파일 또는 환경 변수에 의존하며 종료 및 재시작 이외의 다른 방법으로는 변경할 수 없습니다.

  • XKB 자체에서도 완벽하게 지원되지는 않습니다. 사용자 기호 파일은 include다른 시스템 기호 파일 일 수 있습니다. 그러나 현재 includeXKB 규칙 파일 에는 기능 이 없으므로 Wayland 컴포 지터와 대화하고 개인 사용자 정의를 검색하는 도구가 있어도 사용하려는 모든 규칙 (예 : 복사)을 수동으로 포함해야합니다. rules/evdev*시스템 XKB에서 수정하십시오). libxkbcommon개방 문제가 이 주제와의 관련 버그 .


1
나는 이것을 거의 해결했다는 것을 분명히 했어야했다. 나는 다른 질문에서 그렇게 말했지만 정보는 약간 분리되어 있습니다. 내 웹 사이트에 블로그를 추가 할 때 이것을 더 명확하게 문서화하려고합니다. 그런 다음 여기에 링크해야합니다.
realh

물론, 그것은 여전히 ​​답이없는 질문이므로 Wayland와 동등한 .Xmodmap측면 을 해결하려고했습니다 .
quixotic

3
나는 이것을 블로그 포스트 에 자세히 문서화했다 .
realh

5

나는 이것을 위해 Linux 용 Interception Tools 를 사용해 왔으며 사용자 정의 매핑을 위해 다른 플러그인을 생산하는 사람들도 알고 있습니다. caps2esc 는 제가 매일 사용하는 최초의 개념 증명 플러그인이며 X와 Wayland에서 모두 작동합니다. 이 도구는 일반적인 매핑 소프트웨어보다 약간 낮은 수준이지만 매우 유연하며 다음 플러그인에 대한 계획은 일반화 된 코드 매핑 도구입니다.

면책 조항 : 나는 저자입니다.


가로 채기 도구는 정말 재미있어 보입니다! 작업 해 주셔서 감사합니다!
balu

1
파이썬 스크립트를 통해 모든 키보드 입력을 실행하는 것에 대해 어떻게 생각하는지 잘 모르겠습니다
Ace.C

4

2018 년에 이곳에 오는 사람들 (우분투 17.10)의 경우, 그중 가장 중요한 부분은 그놈 조정 도구를 사용하여 달성 할 수 있습니다.

그놈 수정 도구> 키보드 및 마우스> 추가 레이아웃 옵션> Ctrl은 Win 키 (및 일반적인 Ctrl 키)에 매핑됩니다.


2
"Gnome Tweak Tool"을 사용하면 다른 창 관리자 / 환경 / 그래픽 셸에 대한 새 매핑도 설정됩니까?
말리 리모 커

그놈 수정 도구가 Caps Lock을 다시 매핑 할 수 없습니다.
andyn

@andyn 내 gnome-tweaks-3.34.0-1.fc31.noarchCaps Lock을 다시 매핑 할 수 있습니다-예를 들어 'Caps Lock은 또한 Ctrl', 'Caps는 추가 Esc를 잠그십시오.', 'Caps Lock as Ctrl'등을 포함합니다.
maxschlepzig

2

이 답변은 quickotic의 답변과 동일하지만 더 자세한 예를 사용합니다.

그놈 조정에는 xkb를 통해 할 수있는 20 개 또는 30 개의 키보드 조정 목록이 있습니다. 때로는 기본적으로 원하는 조정을 찾을 수 있습니다. 제 경우에는 인쇄 화면 키를 메뉴로 바꾸고 싶었습니다.

xkb를 통해 사용할 수있는 printscr 키를 수정하는 유일한 옵션은이 키를 Win_R로 바꾸는 것입니다. 이 스레드의 Gunnar Hjalmarsson xscr의 수정 사항을 수정하여 printscr / win_r이 대신 printscr / menu를 수행하도록 제안했습니다. 우리는 함께 해결책을 찾았으며 여기에서 다시 전송할 것입니다.

터미널에 다음을 입력하십시오.

sudo su
nano /usr/share/X11/xkb/symbols/altwin

파일 맨 아래에 다음이 있습니다.

// Win is mapped to the PrtSc key (and the usual Win key).
partial modifier_keys
xkb_symbols "prtsc_rwin" {
    replace key <PRSC> { [ Super_R, Super_R ] };
    modifier_map Mod4 { <PRSC>, <RWIN> };
};

이 섹션을 삭제하고 다음으로 바꾸십시오.

// Menu is mapped to the PrtSc key (and the usual Win key).
xkb_symbols "prtsc_rwin" {
     replace key <PRSC> { [ Menu, Menu ] };
     modifier_map Mod4 { <PRSC>, <MENU> };
};

나노로 삭제하려면 백 스페이스 키를 사용하십시오 (강조 표시 및 삭제가 작동하지 않음). 붙여 넣으려면 shift-ctrl-v를 사용하십시오. 종료하고 저장하려면 ctrl-x를 누르고 덮어 쓰려면 예를 선택하고 enter를 누르십시오.

재부팅하십시오. Gnome / Ubuntu에서 gnome-tweak-tools로 이동 tweak 도구에서 키보드 및 마우스 섹션으로 이동하여 추가 레이아웃 옵션 버튼을 누르고 Alt / Win 키 동작을 확장하십시오. 맨 아래에서 옵션 선택 : Win은 printscr에 매핑됩니다 (인쇄 및 Win 대신 인쇄 및 메뉴를 바꾸도록이 동작 만 수정했음을 기억하십시오). (KDE에서 수정 된 xkb 옵션을 켜는 방법이 확실하지만 사용하지 않으므로 정확한 절차를 제공 할 수 없습니다).

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