CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·아이포니앙 ·주식한당 ·MaClien ·일본산당 ·방탄소년당 ·개발한당 ·자전거당 ·안드로메당 ·이륜차당 ·소셜게임한당 ·나스당 ·골프당 ·가상화폐당 ·소시당 ·물고기당 ·클다방 ·덕질한당 ·요리한당 ·스팀한당 ·AI그림당 ·바다건너당 ·노젓는당 ·패스오브엑자일당 ·WOW당 ·창업한당 ·AI당 ·테스트당 ·키보드당 ·육아당 ·여행을떠난당 ·콘솔한당 ·갖고다닌당 ·PC튜닝한당 ·사과시계당 ·위스키당 ·3D메이킹 ·X세대당 ·ADHD당 ·날아간당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·캠핑간당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·디아블로당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·e북본당 ·이브한당 ·패셔니앙 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·젬워한당 ·걸그룹당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·IoT당 ·KARA당 ·꼬들한당 ·어학당 ·가죽당 ·레고당 ·리눅서당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·방송한당 ·찰칵찍당 ·그림그린당 ·소풍간당 ·심는당 ·라즈베리파이당 ·품앱이당 ·리듬탄당 ·달린당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·파도탄당 ·퐁당퐁당 ·테니스친당 ·빨콩이당 ·공대시계당 ·터치패드당 ·트윗당 ·VR당 ·시계찬당 ·WebOs당 ·와인마신당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

리눅서당

하드웨어 한/영, 한자키에 대해 문의합니다. 6

2020-08-11 23:33:20 117.♡.93.204
lihz

우연히 윈도우10  OS 의 한/영, 한자 키 가 KeyDown  이벤트만 잡히고  KeyUp   이벤트가 잡히지 않는것을 알게되었습니다.

구글링을 해보니 정말 그렇더군요.

제가 궁금한것은 이  KeyUp이벤트가  Keyboard 에서 아예 발생이 하질 않는건지,  윈도우 OS  에서 버리는 건지 를 확실히 모르겠습니다.

혹시 리눅스에서는 이 키들의  key up (release)  이벤트가 확인되나요?

lihz 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [6]
dante2k
IP 49.♡.126.78
08-12 2020-08-12 06:47:57 / 수정일: 2020-08-12 06:48:50
·
xev 로 키이벤트 확인해 봤는데요. 오른쪽 alt(한/영) 키인데 둘 다 잘 잡히는 거 같네요. 아.. 근데 저는 shift+space 로 한영전환하고 있습니다.
==========
KeyPress event, serial 37, synthetic NO, window 0x6400001,
root 0x1a2, subw 0x0, time 278001, (459,-30), root:(512,713),
state 0x0, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x6400001,
root 0x1a2, subw 0x0, time 278145, (459,-30), root:(512,713),
state 0x80, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:
XFilterEvent returns: False
lihz
IP 203.♡.84.60
08-12 2020-08-12 10:37:48
·
감사합니다.
근데 답변을 받고 보니 제가 질문을 잘못했군요..
그냥 한/영, 한자키가 아니라, 우측 Alt, Ctrl가 있으면서 한/영, 한자키도 있는.. (데스크탑용 풀사이즈 키보드) 그런 키보드에서의 한영,한자키에 대한 질문이었습니다..
다시한번 답변감사드립니다.
Afri
IP 14.♡.43.226
08-12 2020-08-12 11:51:41
·
@lihz님

발생하는것같습니다.
lihz
IP 203.♡.84.60
08-12 2020-08-12 14:55:27
·
Afri 님..
감사합니다.
정말 궁금했고, 필요했던 정보인데 ... 저로 빨리 리눅스 설치해서 확인해봐야 겠습니다.
달려라치킨
IP 61.♡.147.174
10-21 2020-10-21 17:47:29 / 수정일: 2020-10-21 19:50:58
·
직면한 문제를 해결하셨는지는 모르겠지만 저도 같은 문제 때문에 고생하고 있어서 이 글까지 오게되었네요.

윈도우 10에서 한글, 한자 키가 있는 키보드의 한글, 한자 키보드에서 KeyDown 이벤트가 OS 레벨에서 발생하지 않고, KeyUp 이벤트만 발생시키는것 같습니다.

해서 윈도우에 X11 서버 환경 구성해서 dante2k과 같이 xev로 확인하면 위에 설명한 문제 (KeyDown 이벤트가 발생하지 않는) 때문에 한글, 한자키의 이벤트가 정상적으로 잡히질 않습니다.

* 제대로 확인하려면 실제 리눅스를 사용하고있는 하드웨어에 직접 한영, 한자키를 가지고있는 키보드 꽂고 확인해보는것밖에 없는데.

dante2k님같은 키보드는 윈도우와 리눅스 두 OS 모두에서 정상적으로 이벤트가 잡힐것이므로 lihz님의 질문에는 답이 안되겠네요.

윈도우에서 발생하는 키보드 이벤트는 https://github.com/cajhin/capsicain 이걸 사용해서 확인했구요.
윈도우 10에서 정상적으로 Down Up 발생시키려면 드라이버 또는 커널레벨에서 변경되것 같다는 예상이라서..
capsicain githun isuue 페이지에 keyup만 발생하는 키를 down + up 이벤트로 에뮬레이팅 할 수 있는지 물어봐놓은 상태입니다.

혹시 이 문제 관련해서 해결하셨거나 유용한 정보 알게되셨다면 조언좀 부탁드리겠습니다!!

* 추가1 : capsicain (한글, 한자키 추가 커스텀 빌드)으로 다른키를 한글이나 한자키로 맵핑한 후 xev에서 확인해보니 결과가 잘 나오는걸로 봐서 윈도우10 OS에서 keyDown 이벤트를 버려버리고, keyUp만 발생시키는것이 확실해 보입니다.

* 추가2: capsicain 개발자의 답변이 좀 늦어서 일부코드 수정해서 다시 빌드 후 한글키, 한자키의 Up Event가 들어올때 Down Event를 먼저 발생시킨 후 Up Event 발생시키도록한 후 테스트 해보니 윈도우 10 X11 서버 환경 > xev에서 한영키 잘 동작하네요.
lihz
IP 211.♡.203.42
09-06 2021-09-06 09:05:58 / 수정일: 2021-09-06 09:08:55
·
@달려라치킨님 너무 늦게 봐서 죄송합니다. 너무 늦어서 보실지 모르겠습니다.
두서없는, 장황한 글이 될듯하여 미리 걱정입니다.

먼저 말씀드리고 싶은것은,
capsicain 에서 KeyUp이벤트만 발생한다는것은 capsicain에서 잘못 출력되는것으로 보입니다. (이는 capsicain github의 issue 페이지 https://github.com/cajhin/capsicain/issues/4 의 내용을 보시면 제작자의 답변이 나와있습니다.)

결론적으로, KeyDown만 있는것은 있어도 (대표적으로 한영/한자 키) KeyUp만 발생하는 키는 없습니다.

문제의 핵심은 이 한영/한자키가 KeyUp 이벤트가 없기때문에, 다른키로 Mapping하여 사용할 수 없는것이 문제인데,
이는 윈도우 드라이버 파일을 HxD 같은 HexEditor로 수정하여 다른 키의 scancode로 변경하면 사용할수 있습니다. (제가 한동안 이렇게 사용했습니다.)

근데, 이 방법의 문제점은...이렇게 파일을 수정하게 되면, 파일에 포함된 자체 서명(digital signature)이 어긋나게되고, 이게 틀어지면 정상적인 부팅이 안됩니다.

해결책은 드라이버 서명확인을 건너뛰도록 옵션을 주고 부팅하면 되는데, 이러면 이 파일뿐만 아니라 다른 모든 드라이버들의 디지털 서명 검증을 패스하게되면서 .. OS보안에 문제가 생길수 있고,
또 화면 우하단에 "Test Mode"라는 워터마크가 항상 보이게 됩니다.

여러 우여곡절 끝에 한영/한자키를 다른키로 매핑하여 사용하는 방법을 알아내긴했지만..
저는 일단 지금은 위에서 언급한 문제륻 때문에 사용하고 있지는 않습니다.

추가1 ) 이거 쓰고나서 보니, 리눅서 당에서 윈도우 드라이버 내용을 잔뜩 열거했네요.. (뻘쭘...ㅠㅠㅠㅠ)
추가2) 리눅스에서는 한영/한자키가 정상적으로 down/up 이벤트가 올라옵니다.
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.