정확하게는 a가 사망했습니다.
이 자판은, 내가 우분투를 처음 사용할 때부터 사용하던 것이어서,
내게는 귀중한 자판입니다.
그래서, 어떻게 할까 생각하다가(별생각 다했습니다) 뜯어서 어떻게 고쳐볼까, 제주에서 키보드 수리하는 곳을 찾아볼까, 육지에 사는 조카얘에게 택배로 보내서 알아서 고쳐오라고 부탁을 할까 등등 여러가지 생각을 하다가
a자 왼쪽 옆에 있는 잘 안쓰는 영어로 쓰여진 키를 치면 a가 써지게하면 되겠다하는 생각이 떠올랐습니다.
Xmodmap를 이용하시면 됩니다.
cd ~ (사용자 홈으로 이동)
gedit .Xmodmap (.Xmodmap 파일 편집 , 파일이름이 앞에 . 으로 시작합니다.)
내용을
keycode 39 = a (S키를 A 키로)
keycode 38 = s (A키를 S키로)
를 적으신 후 저장
재 로그인 하시면 Xmodmap 읽어 들일 까요 물어 봅니다.
그거 읽어 들이게 하면 두키가 바꾸어 집니다. (한영도 마찬가지로 바꾸어 집니다.)
키보드는 하드웨어적으로 보면,
가로 세로로 선들이 교차하고 그 교차점에 키보드 버튼이 달려 있는 형태입니다.
버튼이 눌리면 가로와 세로센서에 동시에 신호가 들어가 어떤 키버튼을
눌렀는지 감지 하는 형태이고, 이런 신호를 표현한것이 스캔코드입니다.
키코드는 이 스캔코드를 운영체제에서 매핑한 것이죠.
윗분의 댓글은 X윈도우 상에서의 방법이고,
리눅스는 해당 키가 눌려서 스캔코드가 발생하고, X윈도우에서 다시 매핑한 경우를 말합니다.
a키의 버튼이 망가진것이 아니라 버튼 스위치가 망가져서 스캔코드가 발생하지 않는 다면, 아무 소용이 없습니다.
xev하고 a키를 눌러도 키코드가 출력되지 않을 테니까요
#a키의 콘솔 키코드 알아내기
sudo dumpkeys|grep +a|awk ‘{print $2}’ #CapsLock키의 스캔코드 알아내기
sudo showkey -s
하신 후 CapsLock키를 누르시고 마지막 0x16진수 0x16진수를 합쳐보세요.
예를 들어 0x9c A0x1e 0x9e라고 나온다면 1e9e를 기억하세요 #콘솔에서의 키코드 변경하기
sudo setkeycodes CapsLock의스캔코드 a키의키코드
이렇게 하고, CapsLock키를 눌렀을때 a가 입력되면 성공입니다.
일단 성공하면 ~/.profile에 위의 명령을 넣어주세요.
#X윈도우에서 키코드 변경하기
xev로 CapsLock키의 키코드를 알아내신 후
sudo xmodmap -e ‘keycode CapsLock의키코드 = a’
sudo xmodmap -e ‘remove Lock = a’
CapsLock키를 눌렀을때 a가 입력되면 성공한 것임
두번째 줄을 입력하지 않으면, aAaA이런식으로 CapsLock과a가 동시에 눌린 형태가 됩니다.
그러므로 a키에서 CapsLock키 기능을 없애는 것입니다.
성공했다면,
~/.Xmodmap를 편집하여
keycode CapsLock의키코드 = a
remove Lock = a
를 입력해주세요