디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[일반] Wayland에서 hwdb로 한글키 맥이는 법 알아냈다...

왓따루갤로그로 이동합니다. 2023.09.15 20:13:08
조회 187 추천 4 댓글 6
														

딱히 적을 곳이 없어서 여기다가 적음


tl;dr


1./proc/bus/input/devices 에서 키보드 기기명 확인

2. sudo evtest 명령어로 키코드 확인

3. 다음처럼 /etc/udev/hwdb.d/61-hangul.hwdb 파일 작성:


evdev:name:<기기명>:*
KEYBOARD_KEY_<R_Alt 키코드>=hanguel
KEYBOARD_KEY_<R_Ctrl 키코드>=hanja


4. 설정값 강제 리로드

sudo systemd-hwdb update

sudo udevadm trigger



HWDB란?


udev에 들어있는 하드웨어 데이터베이스.

각종 하드웨어에 대한 세팅정보 같은게 들어가있음.

옛날에는 별도의 이름이 없이 udev의 일부였는데, systemd로 흡수된 이후에 따로 명칭이 생김.


https://www.freedesktop.org/software/systemd/man/hwdb.html

 


이걸로 설정 가능한 내용 중에는 키 입력의 키코드 값 매핑도 있음.

여기서는 노트북 빌트인 키보드의 우측 alt/ctrl을 한글/한자 키로 매핑함.


설정값을 준비하자


일단 키를 매핑하려면 3가지가 필요함

1. 목표가 되는 키보드 기기

2. 매핑할 키의 키코드

3. 매핑후 사용할 키의 키코드


키보드 기기 확인


정확히는 설정파일에서 사용할 수 있는 "기기의 경로" 값을 확보해햐 함.

경로를 지정하는 방법에는 여러가지가 있는데, 가장 사람이 쓰기 편한 방법으로 기기의 명칭(name)을 사용하는 방법이 있음.

cat /proc/bus/input/devices 명령어로 기기 목록을 뽑아서, 그 중 N: Name 값을 경로에 이용할 수 있음.

가령 N: Name="AT Translated Set 2 keyboard" 이라면 경로는 다음 처럼 쓸 수 있음.


evdev:name:AT Translated Set 2 keyboard:*


가령 내 노트북(thinkpad)에 달린 키보드는 atkbd 모듈로 구동되는데, 이렇게도 쓸 수 있고: evdev:atkbd:dmi:*

이거 외에 USB의 VID, PID를 사용하는 방법도 있는 것 같은데 내가 쓸일 없어서 몰루?


매핑할 키의 키코드


이건 sudo evtest 명령으로 쉽게 알 수 있음.

해당 명령어를 실행하면 기기 목록이 뜨는데, 키보드를 선택하고 엔터, 그 뒤 매핑할 키를 누르면 키코드가 포함된 이벤트 정보가 뜸.


Event: time 1694775193.222899, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1c
Event: time 1694775193.222899, type 1 (EV_KEY), code 28 (KEY_ENTER), value 0
Event: time 1694775193.222899, -------------- SYN_REPORT ------------
Event: time 1694775194.716147, type 4 (EV_MSC), code 4 (MSC_SCAN), value b8
Event: time 1694775194.716147, type 1 (EV_KEY), code 122 (KEY_HANGUEL), value 1
Event: time 1694775194.716147, -------------- SYN_REPORT ------------
Event: time 1694775194.794984, type 4 (EV_MSC), code 4 (MSC_SCAN), value b8
Event: time 1694775194.794984, type 1 (EV_KEY), code 122 (KEY_HANGUEL), value 0
Event: time 1694775194.794984, -------------- SYN_REPORT ------------
Event: time 1694775194.984991, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9d
Event: time 1694775194.984991, type 1 (EV_KEY), code 123 (KEY_HANJA), value 1
Event: time 1694775194.984991, -------------- SYN_REPORT ------------
Event: time 1694775195.031933, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9d
Event: time 1694775195.031933, type 1 (EV_KEY), code 123 (KEY_HANJA), value 0
Event: time 1694775195.031933, -------------- SYN_REPORT ------------

여기서 EV_MSC, MSC_SCAN 이 표시되는 줄이 키보드 키 스캔 이벤트임.

RAlt, RCtrl을 순서대로 누른거고, 해당 키코드 값은 b8, 9d임.

해당 값은 기기별로 다르기 때문에 복붙하지 말고 직접 실험할 것.


매핑후 사용할 키의 키코드


이건 이미 기존에 정의된 값이라 고민할게 별로 없음.

다만 한글/한자키는 외국에선 안쓰다보니 인터넷에도 자료가 잘 안 뜰거임.


한글키는 hanguel

한자키는 hanja


이렇게 이름이 붙어있으니 참고.


설정하기


설정파일 작성


hwdb 설정파일은 /etc/udev/hwdb.d에 넣으면 udev가 구동할 때 자동으로 읽어들임.

hwdb 설정파일의 형식이 궁금하거나 키보드 설정 내용이 궁금하면 /usr/lib/udev/hwdb.d/60-keyboard.hwdb 을 참고할 것.


일단 다음의 위치에 설정파일을 생성하자 (편집기는 편한거 사용할 것)

sudo vi /etc/udev/hwdb.d/61-hangul.hwdb


내용은 다음과 같음:


evdev:name:<기기명>:*
KEYBOARD_KEY_<R_Alt 키코드>=hanguel
KEYBOARD_KEY_<R_Ctrl 키코드>=hanja


설정 리로드 시키기


일반적으로는 구동시에만 로드되는 값이라 설정이 바뀌면 수동으로 다시 로드 해줘야됨


sudo systemd-hwdb update

sudo udevadm trigger


정상적으로 작동하는지는 evtest로 확인할 수 있음.


추천 비추천

4

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
- 설문 이번주 설문은 탈모 걱정 없어 보이는 머리숱 금수저 스타는? 운영자 25/07/14 - -
5070 일반 암드 이넘 또 사고쳤네 [3] 리갤러1646갤로그로 이동합니다. 18:06 74 0
5069 일반 아 납땜 안하다보니 설레이네 [2] asdf4(182.225) 16:35 61 0
5068 일반 이건 공개안할려 했는데 [4] asdf4(182.225) 12:13 125 0
5067 일반 생각보다 우분투 인증된 노트북이 많이 없고 비싸네 [13] ㅇㅇ(146.70) 06:32 143 0
5066 일반 GPU 가속 때문에 엔비디아 노트북 사면 리눅스 불편한가 발명도둑잡기갤로그로 이동합니다. 07.16 77 0
5065 일반 리붕이 콤퓨타 맞췄음 [5] 몰라레후갤로그로 이동합니다. 07.16 140 1
5064 일반 zed 개좋다 [2] ㅇㅇ(106.101) 07.16 151 0
5060 일반 챗지피티 답변은 왜 복붙해서 여따 올리는거임? [6] ㅇㅇ(1.238) 07.15 216 1
5059 일반 구형 맥북에어 있는데 [4] ㅇㅇ(221.167) 07.15 170 0
5058 일반 노트북 인터넷만 쓸려고 하는데 리눅스 뭐 써야함? [6] ㅇㅇ(58.29) 07.14 188 0
5057 일반 KDE 커스텀력 좋아?? 하이퍼랜드 uxui급으로 가능? ㅇㅇ(106.101) 07.13 159 0
5055 일반 그놈이 느려진 이유가 자바스크립트 많이 써서인가 [6] 발명도둑잡기(118.235) 07.13 254 0
5054 일반 3D 작업하는 사람인데 [9] ㅇㅇ갤로그로 이동합니다. 07.13 187 0
5053 일반 dnf vs platpak 둘다 제공되면 설치 뭐로함? [6] ㅇㅇ(125.179) 07.12 213 0
5052 일반 이 개쉑기 왜 새노트북 레노버인데 제대로 작동안함 [5] ㅇㅇ(119.193) 07.12 200 0
5051 일반 한글 입력기 뭐가 좋나요 [6] 발명도둑잡기(118.235) 07.12 216 1
5050 일반 네빅스 사망 확정인가 [2] ㅇㅇ(39.7) 07.12 100 0
5049 일반 ntfs3 안정적임? [5] ㅇㅇ(125.141) 07.12 168 0
5048 일반 리눅스가 무료인거랑 자유로운 거도 장점이지만 [1] 유일한김갤로그로 이동합니다. 07.11 245 1
5047 일반 리눅스에서 맥북처럼 잠자기모드 구현가능함? [6] ㅇㅇ(210.179) 07.11 211 0
5046 일반 그놈 kde 최신판 속도 비교 [4] 발명도둑잡기(118.235) 07.11 282 0
5045 일반 아니 칼리 한글 입력 어케 함 [3] 멍멍!!갤로그로 이동합니다. 07.10 182 0
5043 일반 루나레이크 노트북에 우분투 25.04 사용중임 [8] ㅇㅇ(1.238) 07.10 204 0
5042 일반 라운딩파워랑 다이나믹 커서 지원해주면 니리 넘어갈 생각 있는데 [1] ㅇㅇ(194.114) 07.10 100 0
5041 일반 저해상도에서 hyprland 수정없이 쓸 생각 말아야겠다 aa(14.38) 07.10 108 0
5040 일반 wayland는 설치하는게 아닌걸까요 [1] ㅇㅇ(211.234) 07.10 177 0
5038 일반 이거 하나만 알려주실 수 있나요 [5] ㅇㅇ(118.235) 07.10 197 0
5037 일반 취미로 리눅스 공부하는디 wsl 깔아서 bandit 하고 있는데 이게 맞 [4] ㅇㅇ(1.229) 07.09 225 0
5036 일반 그놈49 에서 추가된거 ㅋㅋㅋ [3] ㅇㅇ(58.230) 07.09 235 2
5035 일반 이런데가 있네 bazzite hibernate 질문 좀 받아줄사람 ~ [1] 홍어(211.218) 07.08 101 0
5034 일반 bottles로 카톡 이모지 잘되냐? [2] ㅇㅇ(58.234) 07.08 134 0
5033 일반 리눅스 배포판 버전이 윈도우로 따지면 24h2 23h2 이런건가 [4] ㅇㅇ(39.119) 07.08 192 0
5032 일반 보통 hyprland ricing할 때 dotfile로 먼저 시작함? [5] aa(14.38) 07.08 152 0
5031 일반 아치 vs 페도라 [11] ㅇㅇ(211.234) 07.08 278 0
5030 일반 Bash Shell 5.3 나오네 [1] ㅇㅇ(218.157) 07.08 127 0
5029 일반 리눅스민트 애미뒤짐? [10] ㅇㅇ(220.86) 07.08 280 0
5028 일반 이 사람 리눅스 테마 미쳤네 [5] ㅇㅇ(211.234) 07.08 316 0
5027 일반 file chooser yazi로 하게 바꿨다 ㅇㅇ(194.114) 07.07 80 0
5025 일반 내장 SSD 관련 질문!! [6] ㅇㅇ(211.33) 07.07 148 0
5023 일반 젯브레인IDE는 생각보다 큰차이없노 [6] ㅇㅇ(58.230) 07.07 154 0
5022 일반 waybar에서 카카오톡(wine)트레이 아이콘 띄우는 방법 없나 [1] ㅇㅇ(163.152) 07.07 147 0
5021 일반 sway -> i3로 돌아옴 [7] ㅇㅇ(163.152) 07.07 156 0
5020 일반 이거 왜 글자 깨지냐 [3] 멍멍!!갤로그로 이동합니다. 07.07 118 0
5019 일반 맥이랑 gui 비슷하게 맞추고 싶은데 뭐가 있을까? [4] ㅇㅇ(121.150) 07.07 160 0
5018 일반 그놈은 42까지가 딱 좋은 듯 [4] JSKing갤로그로 이동합니다. 07.06 219 1
5017 일반 아치 gui 환경 추천좀 [6] 멍멍!!갤로그로 이동합니다. 07.06 244 0
5016 일반 결혼은 nixos 레포 있는 여자하고 해야지 [2] ㅇㅇ(194.114) 07.06 185 1
5015 일반 윈도7 따봉 [2] asdf4(218.156) 07.06 225 8
5014 일반 리눅스 1도 모르는데 멀티부팅부터 설치까지 AI 도움받았다 [20] ㅇㅇ(222.119) 07.06 236 0
5013 일반 토발즈는 윈도우 많이 싫어하나 [5] ㅇㅇ(106.101) 07.06 270 0
뉴스 남궁진, ‘도전 꿈의 무대’ 4연승 성공! 김용임 극찬 “참 탐나는 가수” 디시트렌드 14:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2