리눅스에서 한/영 전환키 사용하기
문제점
- 영문 키보드 구입
- 오른쪽 Alt 키 (Alt_R)을 한글 키로 사용 하고 싶음.
- IBus 등에서 한/영 변환을 Alt_R 키로 등록
- 다른 프로그램에서는 잘 동작.
- Alt_R 키를 단축키로 사용하는 프로그램(Chrome)등에서는 동작이 안됨
- Ctrl_R은 Hanja 키로 매핑 시키고 싶지 않음.
Gnome Tweak Tool 사용
Gnome Tweaks Tool
을 실행한다.
우측 메뉴에서 Keyboard & Mouse
를 선택한 후 우측 설정 화면에서 Additional Layout Options
버튼을 클릭한다.
Additional Layout Options
설정 화면에서 Korean Hangul/Hanja Keys
메뉴를 클릭하여 확장한 후 Make right Alt a Hangul Key
를 선택한다.
Gnome Tweak Tool 시용 시 문제점
잘 동작한다. 하지만 Ctrl_R 키 까지 한자키로 매핑되어 VirtualBox 사용시 Host Key를 변경 해주어 야 한다.
한/영 전환키와 한자 전환키의 설정이 분리 되었다.
이 방법을 사용하자.
Xmodmap 사용
Hangul key
xmodmap -e 'remove mod1 = Alt_R' # Alt_R의 기본 키 매핑 제거
xmodmap -e 'keycode 108 = Hangul' # Alt_R을 Hangul 키로 매핑
Hanja Key
xmodmap -e 'remove control = Control_R'
xmodmap -e 'keycode 105 = Hangul_Hanja'
Save permanently
xmodmap -pke > ~/.Xmodmap
Xmodmap 사용 시 문제점
ubuntu 18.04이후 부터 XKB가 기본 키보드 매핑 패키지로 바뀌면서 위의 xmodmap 설정이 자동으로 적용되지 않는다.
자동적용을 위해서는 아래의 XKB 사용 항목을 참고한다.
XKB 사용
Edit /usr/share/X11/xkb/symbols/altwin
// Meta is mapped to second level of Alt.
partial modifier_keys
xkb_symbols "meta_alt" {
key <LALT> { [ Alt_L, Meta_L ] };
key <RALT> { type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ Alt_R, Meta_R ] };
modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
// modifier_map Mod4 {};
};
// Meta is mapped to second level of Alt.
partial modifier_keys
xkb_symbols "meta_alt" {
key <LALT> { [ Alt_L, Meta_L ] };
key <RALT> { type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ Hangul ] };
modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
// modifier_map Mod4 {};
};