이곳 kbdmania.net 에도 많은 개발자님이 계신걸로 알고 있씁니다 ^^ (이자리를 빌어 반갑습니다라는 말을 전하고 싶네요 ^ㅡ^; 화팅~)
저또한 개발자로 현재 군복무중인데.. 갑자기 ㅡㅡ; 하고 싶은것이 생겼습니다 ㅡㅡ;
일반적으로 미니형식의 키보드(아범이나,체리같은 고급키보드가 아닌 저가 일반키보드)
를 보면 Fn 키가 있는데요..
windows API 를 이용해서 이 fn 키의 down, up 의 이벤트를 잡을수 있는지요???
참고로 현재 제가 사용하고 있는 노트북이 SONY TR2/L 인데.
Fn + E 를 누르면 CDROM이 Eject 됩니다. (물론 들어가는건 안됩니다..ㅡㅡ; ㅎㅎ;)
이 fn 키가 api로 어찌어찌 잡혀도 제가 쓸려고 하는 여러 단축키의 키매핑을 직접 만들수 있을거 같은데.. 자료 구하기가 정말 쉽지 않네요..
참고적으로 codeproject 나 vb 의 왕국인 소스행성(플래닛소스코드닷컴)의 왠만한 keycode 잡아내는 프로그램으로도 (뭐 거의 쓰는 API는 동일하더군요 -_-) fn 키는 잡히지 않더군요..
혹시 프로그래밍내에서 캐치 가능하도록 하는 방법 아시는 분 계십니까? ㅠㅠ 흑.
소스는 Delphi, VC++, VB, C# 모두 괜찮습니다. (다 안다는 이야기는 절대 아니구요 -_-;; ㅎㅎ 모르는 언어는 주윗사람에게 코드 컨버팅 부탁드릴려구요..)
꼭 부탁드리겠습니다. ㅠㅠ 나만의 키매핑&단축키 프로그램 만들고 시퍼라~~ ㅠㅠ 흑흑.
참고로. 제 놋북의 경우 프로세스 목록에 HKWnd.exe 가 올려져 있습니다.아마도 후킹윈도우의 줄임이 아닐런지 -_-; 아으.. 이 프로그램 확 역컴파일 해보고 싶네요 ㅠㅠ 흑흑..
키보드
주제넘을지도모르는.. 키후킹 및 키이벤트 잡아내기 프로그래밍 질문요 ㅠㅠ
이전 댓글 6
Fn키는 메시지가 날아오지 않습니다. 후킹은 해결책이 아닌듯 합니다. Keycode 잡아내는 프로그램들이 Fn키를 못 잡는 것은 Fn 키가 단독으로는 Key board event를 일으키지 않기 때문입니다.
훔.. 결국.위에 제가 기술한 HKWnd.exe 는 fn키를 직접제어하는것을 보면.. api자체가 윈도우쪽이 아닌 하드웨어를 직접 건드리는겁니까?;; 헉;; 쉽게 볼일이 아니겠네요;; 헛;;;
fn 키 자체가 가지는 코드는 없고, 대신 키보드 자체에서 fn이 눌러져 있는 상태와 아닐때 눌러진 다른 키에 따라서 키코드를 다르게 보내주는것이라고 생각합니다. 그리고 그 프로세스는 아마 '조합되었을때 생성된' 키 코드를 해석해서 어떠한 실행을 시키는 프로그램이라 생각되구요
저 역시 FN키는 키 이벤트를 일으키지 않는다고 생각합니다. 하드웨어 차원에서 조합에 해당하는 키 이벤트만을 보낼 뿐, FN키 자체는 없을것 같네요.^^
드라이버로 들어가셔야 할거 같습니다.
Direct Input 쪽을 알아보세요. Direct Input 은 자체가 드라이버 기능이죠.
예전에 리얼포스89U를 쓸때도 Direct Input Sample 프로그램에서는 키값이 다 잡혔습니다.