우분투에서 키보드를 맥북처럼 사용하기

2024. 4. 8. 03:28유용한 끄적임

 

맥북에서 우분투로 넘어올 때 불편한 점은 바로 키보드 배열이 다르다는 것인데,

특히 한/영키와 command가 가장 불편했다.

 

최대한 맥북 키보드와 비슷하게 사용하기 위해서, 이 글을 작성했다.

특정 키를 다른 키로 맵핑해주는 기능이 있는 tweaks를 설치해준다. (우분투 22.04 기준)

sudo apt install gnome-tweaks

 

그리고 실행해준다.

 

 


Caps Lock to 한/영

 

1. tweaks 메뉴에서 Keyboard & Mouse > Additional Layout Options로 이동한다.

 

2. Caps Lock behavior > Make Caps Lock an additional Hyper를 선택한다.

(또는 본인이 원하는 키로 맵핑해도 된다)

 

3. 한글 키보드 설정으로 들어가서 Hangul Toggle Key에서 Add를 누르고 Caps Lock을 등록하면 된다.

Settings > Keyboard > Korean (Hangul) > Preferences

 

 

 

 


alt to ctrl

 

대부분 우분투에서 ctrl는 맥북의 command와 같은 역할을 한다.

1. Ctrl position > Left Alt as Ctrl, Left Ctrl as Win, Left Win as Left Alt 를 선택한다.

 

복사, 붙여넣기, 되돌리기 등... 이 맥북과 동일해졌다.

 

 

하지만 터미널에서 복사, 붙여넣기가 의도했던 대로 되지 않는데

2. 터미널 설정에서 복사 및 붙여넣기 단축키를 바꿔준다.

 

 

3. 아래 우분투에 기본 내장되어 있는 단축키를 해제해두는 것을 추천한다.

  • Navigation > Hide all normal windows
  • Windows > Activate the window menu

 

 

마지막으로 터미널에서 interrupt 키를 누르면 복사로 대체되는 일이 있는 것 같은데,

이를 해결하기 위해 찾아보면 쉽지 않다는 것을 알 수 있을 것이다.

 

하지만 본인은 쉽게 해결했는데

4. tweaks 키 맵 파일을 수정한다.

sudo vim /usr/share/X11/xkb/symbols/ctrl

에서 replace key <LCTL> { [ SUPER_L ] }; 부분을 수정하면 된다.

...

// Map Ctrl to the left Alt key, Alt to the left Win key,
// and Super to the left Ctrl key.
partial modifier_keys
xkb_symbols "swap_lalt_lctl_lwin" {
    replace key <LALT> { [ Control_L, Control_L ] };
    replace key <LWIN> { [ Alt_L, Meta_L ] };
    replace key <LCTL> { [ SUPER_L ] };
    modifier_map Mod1    { <LWIN> };
    modifier_map Mod4    { <LCTL> };
    modifier_map Control { <LALT> };
};

 

이 원리는 ctrl + c 키 입력을 ctrl + super + c 로 바꿔주는 건데,

어차피 터미널에서는 ctrl + c 와 ctrl + super + c 모두 interrupt 단축키이다.

일전에 ctrl + c를 복사하는 걸로 등록했으니, ctrl + c는 먹히지 않을 것이고 ctrl + super + c만 먹히는 것이다.

 

경험상으로 오른쪽 끝에 있는 ctrl 키를 누를 일은 interrupt 밖에 없었으므로 이 정도만 해도 충분하다.

 

 

 


Screenshot

 

맥북에서는 screenshot 단축키가 command + shift + 4 였는데

1. settings > Keyboard > View and Customize Shortcuts > Screenshots > Task a screenshot interactively 를 누른다.

 

 

2. command + shift + 4 처럼 누르고 등록한다.

 

 

3. 마찬가지로 screencast 도 해주면 좋다.