Wayland의 특수 문자(움라우트) 키 재매핑

Wayland의 특수 문자(움라우트) 키 재매핑

Xorg에서 마우스 오른쪽 버튼을 클릭 하고 , , (및 대문자)를 각각 사용하여 독일어 움라우트(예: äüö)를 입력 ~/.Xmodmap할 수 있기를 원했습니다 .CtrlauoShift

remove Control = Control_R
keycode 105 = Mode_switch
keysym e = e E EuroSign
keysym c = c C cent
keysym a = a A adiaeresis Adiaeresis
keysym o = o O odiaeresis Odiaeresis
keysym u = u U udiaeresis Udiaeresis
keysym s = s S ssharp

Wayland에서는 이 작업을 수행하는 방법을 찾지 못했습니다 xkb. 지금까지는 키보드 변형만 설정한 altgr-intl다음 오른쪽 Alt+를 사용하여 qä를 얻을 수 있습니다.

Sway도 사용하고 있으므로 ++를 대문자 버전 Alt으로 사용할 수 없습니다 . Sway에서는 ++가 창을 닫는 바로 가기이고 다시 매핑하고 싶지 않기 때문입니다.Shiftq

그렇다면 이전에 Xorg에서 했던 것처럼 모음을 오른쪽에 Ctrl+ a, , u, 각각 어떻게 배치합니까?o

답변1

이 솔루션은 GitHub 사용자 RedSoxFan이 제공했습니다.발음 구별 부호를 사용 Alt Gr및/또는 Caps lock만들고 Wayland/Sway에서 작업하세요. 대문자 분음 부호가 표시됩니다 Shift. 해결책은 사용자 정의 키보드 레이아웃을 사용하는 것입니다.

다음을 저장하세요.$HOME/.config/xkb/symbols/us-german-umlaut

default partial alphanumeric_keys
xkb_symbols "basic" {
    include "us(altgr-intl)"
    include "level3(caps_switch)"
    name[Group1] = "English (US, international with German umlaut)";
    key <AD03> { [ e, E, EuroSign, cent ] };
    key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
    key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
    key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
    key <AC02> { [ s, S, ssharp ] };
};

그런 다음 흔들리는 구성에서 다음을 사용하십시오.input type:keyboard xkb_layout us-german-umlaut

답변2

나는 당신의 목표를 달성하는 방법을 모르겠어요정밀한요청하지만 Compose 키를 R-Ctrl에 할당하면 비슷한 결과를 얻을 수 있습니다.

Gnome에서는 gnome-tweaks 도구를 사용하여 이를 수행할 수 있습니다. 계피는 기억이 나지 않지만, 나도 써본 적이 있기 때문에 방법이 있을 거라고 확신한다. (다른 DE에 대해서는 잘 모르겠습니다. 그리고 여러분처럼 저는 Wayland에 대해 잘 알지 못합니다.)

R-Ctrl " A그런 다음 ä 등을 얻기 위해 입력할 수 있습니다 . 이는 코드가 아닌 시퀀스라는 점에 유의하세요 R-Ctrl.그 다음에 ",그 다음에 A.

이전 솔루션만큼 편리하고 빠르지는 않지만 더 유연하고 ø æ ⋄ → € ° · … ´ ≠와 같은 다른 많은 멋진 문자에 액세스할 수 있습니다.

답변3

이것은 실제로 모든 "일반적인" Linux 버전에서 매우 간단합니다.

현재 키보드가 사용하고 있는 "기호" 파일을 찾으세요.

최근에 Dell Insipiron 3780을 구입하고 미국 국제 키보드와 함께 주문했습니다. 키보드에는 5에 유로 기호가 있습니다. 또한 무선 Logitech 무선 KB/마우스 콤보 모델 Y-R0042를 사용합니다. 5번(5번 오른쪽 하단에 위치)에는 유럽식 키가 있지만 그 외에는 일반 미국식 키보드처럼 보입니다.

내가 선택했다"영어(미국, EUR 5)"키보드 레이아웃.

이 레이아웃은 기본적으로 파일에 정의되어 있습니다./usr/share/X11/xkb/symbols/us

파일의 구문은 정의된 키보드를 상속하는 기능(더 나은 단어가 없음)에 의존한다는 것을 알 수 있습니다. 따라서 제 예에서는 "English (US, Euro 5)"가 "English (US)"에서 상속됩니다. 바로 위에 정의되어 있습니다.

이 정의에서 모든 "일반" 문자는 키보드에서의 위치에 따라 정의(또는 더 나은 단어로 인식)되는 것을 볼 수 있습니다.

내가 한 일은 실제로 중요한 네 줄을 편집하고 해당 키에 ä,ü,ö,ẞ를 추가한 것뿐입니다. 제 생각에는 이 키가 기존 키인 a,u,o,s였습니다.

그런 다음 "right-alt"(또는 "Alt Gr") 키를 누른 상태에서 해당 영어 문자를 입력하여 액세스할 수 있습니다.

따라서 다음은 네 행에 대한 편집 결과입니다(마지막 두 요소(예: udiaeresis, Udiaeresis)를 각 행이 비어 있기 전에 추가했습니다).

key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
key <AC02> { [ s, S, U00DF, NoSymbol ] };

"sudo"(루트로)를 통해 편집해야 합니다. 저장한 후에는 키보드를 다시 로드해야 합니다. 로그아웃했다가 다시 Shazam에 로그인하면 됩니다.

이것은 내가 본 것 중 가장 간단한 솔루션입니다. 먼저 원본 파일을 백업해 두는 것이 좋습니다.

관련 정보