본문 바로가기

Programming/Tip&Informaion

[CentOS] 키보드 키 변경 (컨트롤 키, capslock 키)

ctrl 키와 capslock 키를 바꾸면 더 편하다고 해서


CentOS 에서 바꾸려고 하니까 잘 안 되는 것을 한참 검색하다가 발견했다.


출처는 http://superuser.com/a/290149 고 대충 번역 및 수정을 해보면


1. 현재 키보드 layout 저장하기


# dumpkeys > backup.kmap


만약을 대비해 백업을 해놓는다.


복구하고 싶을 때는


# sudo loadkeys backup.kmap


을 하면 된다.


*만약에 이 명령어도 안 먹히면 재부팅을 한다.


2. keycodes 확인


# showkey


showkey 를 하고 난 뒤 자신이 바꾸고 싶은 키를 누르면 그 키값이 나온다.


내 컴퓨터에서는 caps lock = 58


오른쪽 ctrl = 29


왼쪽 ctrl (노트북이라 한자키) = 97 로 나온다.


10초 동안 아무것도 누르지 않으면 showkey가 종료된다.


3. keycodes 를 이용해서 dumpkeys에서의 이름 확인


# dumpkeys | grep (keycodes값)


을 이용해서 keycode값에 맞는 이름을 찾아본다.


caps lock 을 알고 싶다면 caps lock의 keycodes 값이 58 이므로


# dumpkeys | grep 58


을 하면 된다.


그럼 CtrlL_Lock 으로 나온다.


같은 방식으로 바꾸고 싶은 keycodes에 해당하는 dumpkeys이름을 확인해본다.


키보드 -> keycode -> dumpkeys이름

ctrl키 -> 97 -> Control

caps lock -> 58 -> CtrlL_Lock


4. dumpkeys 에서 keymap 을 확인한다.


# dumpkeys | head -1


을 치면 된다.


내 컴퓨터는


keymaps 0-127


이라고 나온다.


5. keymap file 을 만든다.


# vi (파일이름).kmap


을 한 뒤


keymaps 0-127                            #자신의 keymaps 를 적는다.

keycode 58 = Control                   #58(caps lock 키) 를 Control 키로 바꾼다.

keycode 97 = CtrlL_Lock                #97(오른쪽 control 키) 를 caps lock 키로 바꾼다.


를 쓰고 저장합니다.


6. keymap을 불러옵니다.


# sudo loadkeys (파일이름).kmap


파일이름은 아까 만들었던 파일이름 입니다.


7. 테스트 해본다.


테스트는 알아서들..


+ 부팅할 때마다 불러오려면


# vi /etc/rc.local


/usr/bin/loadkeys /path/to/(파일이름).kmap


을 추가하면 된다고 합니다...


다른 리눅스에서도 되는 지는 잘 모르겠네요..



Information gathered from various pages, including, but not limited to: