리뷰/기타

Cosmo communicator Genian OS 한글 문제 해결

TechToast 2024. 1. 29. 16:05

 

코스모 커뮤니케이터를 패기롭게 사놓고 나서는,

기기의 한계로 안드로이드에서 뭘 더 사용하는건 포기하고 리눅스를 설치했다.

Genian OS 라고 처음들어보는데, Debian / Ubuntu 계열인 듯.

 

일단 설치하면 US 키보드 배열로 되어 있는데,

쓰는 사람은 알다시피 키보드 배열 중 특수문자 위치가 다르다.

 

 

일단 시작부터 문제되는 건,

리눅스 세팅 중 필수적으로 쓰이는 백슬래쉬가 한글 키보드 위치에서는 fn + m 인데, 영문 키보드에서는 shift + , 인 것. 

일단 세팅을 해야 하니 부들부들 떨며 짜증팍팍 내며 영어 키보드 자판을 보면서 한다.

 

1. 레이아웃에 한글 레이아웃 추가

안드로이드에서는 자소분리 일어나긴 했지만 레이아웃을 지원은 했다.

Genian OS 에서는 지원조차 하지않는다.

 

수정 파일 위치는 /etc/share/X11/xkb/symbols/planet_vndr/cosmo 파일이다.

시작 버튼같은걸 눌러서 kwrite 를 열어서, 저 위치를 찾아 들어가서 연다. 

(sudo 안하고 열어도 저장할때 따로 비밀번호 물어보니 다행)

 

영국놈들 제품이다 보니 gb가 최상위에, 그다음 us, jp, 여러개 세팅 되어 있는데

적당한 위치에다가 아래 텍스트 내용 긁어다 복붙 후 저장.

gb 내용 그대로 긁어다가, 내 꺼 자판에 있는 거 적당한거 채워넣은 거임. 일단 급한대로는 동작함. 

 

xkb_symbols "kr" {
    include "planet_vndr/cosmo(modifiers)"
    include "planet_vndr/cosmo(common_keys)"

    name[Group1]="Cosmo English (KR)";

    key <AE01>  { [         1,      exclam,   asciitilde,    F1 ] };
    key <AE02>  { [         2,          at,        grave,    F2 ] };
    key <AE03>  { [         3,  numbersign,    backslash,    F3 ] };
    key <AE04>  { [         4,      dollar,     EuroSign,    F4 ] };
    key <AE05>  { [         5,     percent,     division,    F5 ] };
    key <AE06>  { [         6, asciicircum,      greater,    F6 ] };
    key <AE07>  { [         7,   ampersand,    braceleft,    F7 ] };
    key <AE08>  { [         8,    asterisk,   braceright,    F8 ] };
    key <AE09>  { [         9,   parenleft,  bracketleft,    F9 ] };
    key <AE10>  { [         0,  parenright, bracketright,   F10 ] };

    key <AD01>  { [         q,          Q,XF86AudioPlay,  Greek_OMEGA ] };
    key <AD02>  { [         w,          W,XF86AudioPrev,      Lstroke ] };
    key <AD03>  { [         e,          E,XF86AudioNext,    trademark ] };
    key <AD04>  { [         r,          R,        Print,   registered ] };
    key <AD05>  { [         t,          T,XF86AudioMute,          yen ] };
    key <AD06>  { [         y,          Y,    leftarrow,   rightarrow ] };
    key <AD07>  { [         u,          U,    downarrow,      uparrow ] };
    key <AD08>  { [         i,          I,         plus,    plusminus ] };
    key <AD09>  { [         o,          O,        minus,     Ooblique ] };
    key <AD10>  { [         p,          P,        equal,        THORN ] };

    key <AC01>  { [         a,          A, XF86TaskPane,              AE ] };
    key <AC02>  { [         s,          S,       ssharp,         section ] };
    key <AC03>  { [         d,          D,  XF86TopMenu,             ETH ] };
    key <AC04>  { [         f,          F,      XF86UWB,     ordfeminine ] };
    key <AC05>  { [         g,          G,          bar,             ENG ] };
    key <AC06>  { [         h,          H,    backslash,  dead_diaeresis ] };
    key <AC07>  { [         j,          J,   underscore, dead_circumflex ] };
    key <AC08>  { [         k,          K,     question,          degree ] };
    key <AC09>  { [         l,          L,    semicolon,      dead_caron ] };
    key <AC11>  { [apostrophe,   quotedbl,        colon,      dead_acute ] };

    key <AB01>  { [         z,          Z,        guillemotleft,        dead_belowdot ] };
    key <AB02>  { [         x,          X,       guillemotright,        dead_abovedot ] };
    key <AB03>  { [         c,          C, XF86AudioLowerVolume,            copyright ] };
    key <AB04>  { [         v,          V, XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>  { [         b,          B,XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>  { [         n,          N,  XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>  { [         m,          M,                slash,           dead_grave ] };
    key <AB09>  { [    period,    greater,                U263A,           dead_tilde ] };

    key <AB08>  { [     comma,      less, XF86Option,   multiply ] };

    //key <LALT>  { symbols[Group1] = [ Alt_L, Alt_L, ISO_Last_Group,   ISO_Last_Group ] };
    //key <LALT>  { symbols[Group1] = [ Alt_L, Alt_L, ISO_Last_Group,   ISO_Last_Group ] };
};

 

영어만 있는 이유는, 아는 사람은 알겠지만 여기다가 유니코드로 ㄱ, ㄲ 같은거 백날 다 넣어봤자 자소분리 일어난다.

 

저장후, Konsole (terminal) 열어서 

setxkbmap -model planetcosmo -layout kr

 

실행하면 일단 특수문자는 해결된다.

 

영원히 디폴트로 박으려면, 

/etc/default/keyboard 파일을 또 kwrite 로 열어서 수정.

XKBMODEL="planetcosmo"
XKBLAYOUT="kr"

 

나머지는 비워두거나, backspace 에 guess 라고 되어있는거 그냥 놔두면 됨.

 

자소분리를 막는 입력기를 이제 골라야 하는데,

fcitx, ibus 는 지금 구버전 개똥버전 QT 업글 안된 버전에서는 오류난다.

ibus 는 엔터키, 백스페이스 키 안먹음 현상 있음. github 에도 이슈되었기 때문에 우리의 개똥버전 genian OS 에서는 사용불가.

fcitx 는 기껏 앞에 수정한 특수문자 배치를 지가 알아서 다른 키보드로 바꿔버려서 특수문자 입력이 불가능.

 

내가 성공한 건 uim과 uim-byeoru 설치. 이름이 일단 벼루 란다. 맘에듬.

 

이 분 블로그 참고함.

 

Ubuntu 18.04 한글 입력기 UIM 설정하기

Ubuntu 에서 한글 입력기 uim 설정하기

progtrend.blogspot.com

 

일단 터미널에서 설치 때림.

sudo apt install uim uim-byeoru

 

그리고 im-setting (시작버튼 같은데서는 Input Method 라고 뜸) 에 들어가서, 

OK Yes 누르다가 선택메뉴에서 UIM 선택.

그리고 저분 블로그처럼 Input Method (시작 후 uim 입력하면 뜨는게 그거뿐임) 를 고름. 

저 블로그에서는 한글로 뜨는데 우리 열악한 상황에선 영어로 뜨니까 대충 알아먹고 고고.

 

- Global settings 에서 Specify default IM 체크, Default input method 는 Byeoru 선택. 

- Global key bindings 1 에서 global on, off 에 shift space 가 있으므로 다 삭제, 어차피 전각/반각 교체하는 바인딩 키인것 같다.

- Byeoru key bindings 1 는 키세팅 바꿀 사람만 고고.
어차피 우리의 코스모 안에서는 한글키를 배정할 키 따윈 없다.

나중에 FN + , (sym) 키 잘 안쓰니까 저기에 hangul 이라고 바인딩해서 써볼까 생각중.

 

다 끝나고 깔끔하게 sudo reboot.

 

한글 입력 문제가 (당장은) 해결된 Genian OS 설치된 Cosmo communicator 완성.

 

 

아 정말 애증의 제품. 

새로 사실 분이 있다면 정말 뜯어말리고 싶다.