Linux에서 키보드의 복잡한 재매핑

Linux에서 키보드의 복잡한 재매핑

최신 Linux 배포판의 키 재매핑에 대한 또 다른 질문은 다음과 같습니다.

배경:

저는 지난 6년 동안 Mac 사용자였으며 약 20년 동안 Linux 사용자였습니다. 이로 인해 두 가지 문제가 발생했습니다.

  • Mac에서 스웨덴 키보드로 코딩하는 것은 형편없어서 코딩하는 동안 어쩔 수 없이 미국 레이아웃을 사용해야 했습니다.
  • Linux와 Mac에서 키보드 레이아웃을 지속적으로 전환합니다.

Mac에서는 스웨덴 문자(å, ä, ö)에 액세스할 수 있도록 미국 레이아웃을 일부 변경했습니다. 스웨덴 키보드에서 해당 문자를 얻으려면 일반적으로 키보드 오른쪽에 세 개의 키가 있습니다. 일반적으로 미국 레이아웃처럼 작동하도록 Ukelele로 다시 매핑했지만 "alt"(또는 "alt+shift")를 누르면 스웨덴 문자가 표시됩니다. 이것에 익숙해지고 나면 아주 잘 작동합니다.

둘째, Linux 사용자는 win 키가 두 번째 ctrl 키처럼 작동하도록 ctrl-win-alt 키를 다시 매핑하는 것이 매우 일반적입니다. 이렇게 하면 대부분의 단축키가 Mac과 Linux에서 동일하게 작동합니다. GNOME(또는 GNOME Tweaks)에는 이에 대한 설정이 있습니다: "Ctrl은 Win 및 일반적인 Ctrl 키에 매핑됩니다."

그러나 순서는 여전히 Mac 키보드와 동일하지 않습니다. Mac에는 "제어 옵션 명령"이 있지만 PC 키보드에는 "ctrl win alt"가 있습니다. GNOME Tweaks에는 "Alt가 Win으로 교체되었습니다"라는 또 다른 옵션이 있습니다. 불행히도 GNOME Tweaks는 이러한 옵션 중 하나만 허용합니다.

따라서 내가 원하는 완전한 재매핑은 다음과 같습니다(미국 레이아웃을 기반으로 함).

  • Alt + "[" => å
  • Alt + Shift + "['"=> Å
  • Alt + "'" => ä
  • Alt + Shift + "'" => ä
  • Alt + ";" => ö
  • Alt + Shift + ";" => Ö
  • 왼쪽 Ctrl => 왼쪽 Ctrl
  • 왼쪽 승리 => 왼쪽 Alt
  • 왼쪽 Alt => 왼쪽 Ctrl

불행히도 이를 달성하는 방법에는 너무 많은 옵션이 있는 것 같고 모두 올바르게 수행하기가 매우 어렵습니다. 따라서 이에 대한 도움을 주시면 감사하겠습니다!

(Mac에서는 키보드 레이아웃을 구축하는 그래픽 도구인 Ukelele를 사용하여 이 작업을 수행할 수 있었습니다. 그런 다음 이를 설치하면 미국식 레이아웃이나 스웨덴식 레이아웃 간에 전환할 수 있는 것처럼 쉽게 전환할 수 있습니다. 매우 훌륭합니다.)

업데이트:

Ctrl/Alt/Win 부분이 해결되었습니다. 새 파일(내 경우에는 "jomag"라는 이름)을 만들어 "/usr/share/X11/xkb/symbols/"에 배치했습니다.

partial modifier_keys              
xkb_symbols "jomag" {     
        key <LALT> { [ Control_L, Control_L ] };     
        key <LWIN> { [ Alt_L, Alt_L ] };             
        modifier_map Control { <LALT>, <LWIN> };     
};                        

또한 /usr/share/X11/xkb/rules/evdev에 한 줄을 추가했습니다.

! option     =    symbols
jomag:jomag  =    +jomag(jomag)    <--- this one

그래도 그것이 꼭 필요했는지는 잘 모르겠습니다.

로드하는 가장 좋은 방법은 setxkbmap을 사용하는 것입니다.

setxkbmap -option jomag:jomag

다시 로드하려면 빈 옵션을 사용하여 실행하세요.

setxkbmap -option
setxkbmap -option jomag:jomag

관련 정보