xkb 로 Linux 한영(한글/영어) 한자 전환키 설정
Ubuntu 20.04 LTS 와 fedora 34 를 사용하는데 이제는 Linux desktop 환경이 많이 편해져서 설치후 별다른 설정없이 한글 사용이 큰 불편이 없어졌습니다.
한글 입력기도 기본 설정인 IBus 를 사용하는데 Chrome/Edge, Visual Studio Code, Slack 등 많이 사용하는 프로그램에서도 정상 동작합니다.
facebook 에서는 입력이 제대로 안 되는 문제가 있지만 이정도는 감내할 수 있는 불편이고요.
한 가지 문제는 키보드의 한/영키를 Right Alt로 인식해서 한영 전환이 제대로 안 되는 경우가 있는데 이는 xkb(X keyboard extension) 으로 설정을 변경해 주면 됩니다.
한영, 한자키 설정
xkb 설정 파일인 /usr/share/X11/xkb/keycodes/evdev 를 에디터로 열고 다음과 같이 수정해 줍니다.
$ sudo vim /usr/share/X11/xkb/keycodes/evdev
root 권한이 필요합니다.
Alt_R 은 보통 키 코드가 108(0x6c) 인데 이를 Hangul 키로 매핑해야 하므로 기존의 RALT 부분을 주석 처리합니다.
//<RALT> = 108;
한글 키를 130 으로 매핑한 부분도 주석처리하고 다음과 같이 108 을 Hangul 키로 설정해 줍니다.
//<HNGL> = 130; // Hangul Latin toggle <HNGL> = 108; // Hangul Latin toggle
한자 키가 131 로 매핑되어 있으면 Control_R 인 105(0x69) 로 바꿔줍니다.
//<HJCV> = 131; // Hangul to Hanja conversion <HJCV> = 105; // Hangul to Hanja conversion
현재 세션에 바로 반영되게 setxkbmap 명령을 실행합니다.
$ setxkbmap -layout us
한글과 한자를 입력해서 제대로 동작하는지 확인해 봅니다.
매핑 설정
Settings → "Region & Language" 에 들어갑니다.
Input source → "Korean(Hangul)" 을 클릭합니다.
Hangul 과 Hanja 전환 키 설정을 확인하고 없으면 Add 를 눌러서 추가해 줍니다.