팁 & 테크
키보드, 마우스 등을 좀 더 편리하게 사용할 수 있는 팁, 개조나 자작 관련 정보, 기술 내용을 자유롭게 올리는 게시판입니다.
책상 정리를 하려는 목적에 애플 bluetooth 신형을 사용하게 되었습니다. 그리고 사용하면서 '당했던' 시행절차와 그 결과를 행여 다른 분들은 겪지 않기를 바랍니다.
먼저 연결 자체는 쉬웠습니다. 페어링 문제라든지 이런저런 소문이 있었지만 제 한글 vista32와 벨킨 동글은 아무 생각없이 붙었습니다. 인터넷을 찾아보면 뭐 핀코드를 1111로 해야된다든지 하는 이야기가 있는데 벨킨 홈페이지에서 다운 받은 드라이버는 설치시에 핀코드를 정해줄 수 있고 무리없이 동작합니다. (동글이와 동봉된 드라이버는 시도해보지 않았고 위드컴 홈페이지에서 받은 드라이버는 설치가 안되더군요)
일단 키 레이아웃 자체는 사소한, 어찌보면 심각한 문제가 있습니다. 키패드가 없는 것은 당연한데 NumLock, ScrollLock, Break, PrtSc도 없고, Delete키가 있습니다만 Backspace로 동작하기에 Delete를 쓰는 단축기는 하나도 사용할 수 없습니다. Break가 없기에 도스 창에서 스크롤을 잠시 멈출 수도 없고, 혹시 numlock이나 scrolllock을 사용하는 프로그램이 있다면 불가합니다. Delete의 Backspace 동작은 많이 심각해서 파일을 지울 때 Shift+ Delete를 사용할 수 없고, Ctrl+ Alt+ Del로 컴터를 잠글 수도 없습니다. fn키도 제대로 동작하지 않습니다. 그렇기에, 적절한 드라이버로 이걸 어떻게든 커버를 해줘야 합니다..
가장 쉽고 당연한 해결책이 되어야 할 방법이 부트 캠프입니다. 1.4, 혹은 2.0 버전을 사용하게 되는데 저한테는 심각한 문제가 있었습니다. 넷 상에서 applekeyboardinstaller.exe와 같은 이름으로 돌아다니고 설치가 간단해서 많이 사용하시는 것 같은데 멀티미디어 키는 동작 안하는 것이 있어서 거의 사용불가입니다.
1. 멀티미디어 키가 동작을 제대로 안합니다. 하는 것도 있고 안하는 것도 있습니다.
2. Caps lock을 쓸 수 없습니다 누르는 순간 키보드가 뻗어서 키보드 전원을 껐다 켜야 합니다.
3. 키 입력이 일정 시간 없다가 다시 키를 누르는 순간 컴터에 블루스크린이 뜹니다. 그 기간이 짧아서 몇 분 정도 안쓰다가 키를 누르면 컴터가 죽습니다. 그렇다고 제 컴퓨터가 불안정해서 블루스크린이 가끔 보이는 것도 아닙니다.
멀티미디어 키 안쓰고, caps lock 안쓰고 살 수 있습니다만 저 세번째 문제는 심각합니다. 어떻게 참고 견딜 수준이 아니죠. 그래서 부트 캠프 드라이버는 지우고 드라이버는 bluetooth HID로 잡습니다. (장치관리자에 보면 HID 어쩌고 저쩌고 중에 맞는 것이 있는데, 혹시 이게 apple keyboard로 나와있으면 부트 캠프 드라이버가 잡힌 것입니다. 애플 드라이버를 언인스톨하고, 장치관리자에서는 드라이버를 업데이트 하면서 ‘컴퓨터에서 드라이버 찾아보기’를 선택해서 이것을 Bluetooth HID로 선택해주면 수동으로 잡을 수 있습니다.)
이렇게 하니 특히 블루 스크린은 안뜹니다만 역시나 펑션키를 이용한 멀티미디어 기능, 혹은 PgUp과 같은 키는 역시 사용불가입니다.(PgUp과 같은 키는 원래 없으니 애초에 사용할 수 없죠;;) 그래서 autohotkey와 같은 매핑 프로그램을 시도하게 되는데, 역시나 문제가 있습니다. fn키 자체가 독특하다보니 매핑 프로그램에서 fn키를 잡지 못합니다. 그러니 매핑을 시킬 수가 없죠. 그래서 구글링을 하던 도중에 해답을 찾았습니다.
http://www.autohotkey.net/~daonlyfreez/tutorials/3p/Veil/fnkey.htm
저 웹싸이트를 보면 아시겠지만 제목이 “Mystery of the FN Key” 입니다. 말그대로 fn키를 인식시키는 방법에 대한 싸이트입니다. 귀찮은 분들을 위해서 자세한 내용은 각설하고 적당히 줄이면 autohotkey로는 fn키를 잡지 못하기에 같은 페이지에 있는 dll을 사용해서 fn키를 잡겠다는 것입니다.
1. Autohotkey를 인스톨 합니다.
2. http://www.autohotkey.net/~Micha/HIDsupport/AutohotkeyRemoteControl.rar 를 다운받아 압축을 풀고 같이 있는 AutoHotkeyRemoteControlDLL.ahk를 사용해서 fn키가 있는 HID와 USAGE정보를 찾습니다. (스크립트를 약간 고쳐야 합니다.)
3. 이제 fn키를 잡을 수 있으니 맘대로 스크립트를 짜서 필요한 매핑을 합니다.
말로는 간단한데 약간 귀찮습니다. 그렇지만 기본적으로 fn키를 인식시키는데에는 코딩이나 이런 것들이 전혀 필요없고 저 압축파일에 있는 스크립트를 몇자 고쳐주는 것으로 사용 가능합니다. 하지만 멀티미디어 키, 라든지 부족한 키를 보충하기 위해서는 스크립트를 더 많이 고쳐야 합니다.
저는 autohotkey를 처음 다뤄보는거라 새로 짜는건 애초에 계획에도 없었고, 저 링크된 페이지에 있는 샘플을 고치는 것 정도로 원하는 건 다 할 수 있겠더군요. 약간 설명하면 fn키가 눌러지면 스크립트에 있는 글로벌 변수인 fnPressed가 1로 셋팅됩니다. 그러니 다른 키 매핑 부분에서 fnPressed만 체크하면 fn키와 관련된 것들은 다 할 수 있습니다.
그래서, 일단 샘플에 있는
Fn+ Delete -> 제대로 delete로 동작하게.
Fn+ left, right, up, down -> Home, End, PgUp, PgDn
CD Eject -> 실제로 cd tray가 동작하도록.
Fn+ F10, F11, F12 -> volume mute, down, up (winamp랑 연동되어 있습니다.)
정도 이외에
Ctrl+ Alt+ Del -> 실제로 동작하도록 (위에서 이야기했듯 Del이 BS로 먹어서 원래 동작X)
Shift+ Del -> 같은 이유로 동작 안하기에 제대로 윈도상에서 파일 지울 수 있도록.
Fn+ Shift+ Right, Left -> Shift+ End, Home 으로 매핑. 이거 필요하죠.
Fn+ Shift+ Up, Down -> Shift+ Up, Down으로 매핑.
Fn+ F7 -> PrtSc, 없으니 불편해서, 물론 fn+ Alt+ F7은 Alt+ PrtSc로
Fn+ F8 -> ScrollLock. 심심해서.
Fn+ F6 -> NumLock. 넣는 김에.
Fn+ F9 -> Break, 도스창에서 스크롤을 멈출 때 필요하죠. 근데 CtrlBreak는 왜인지 안먹더군요. 그렇지만 Ctrl+ C로 거의 대체가능하기에 더 고치는건 관뒀습니다.
Fn+ F10, F11, F12 -> 각각 마스터 볼륨 mute, down, up입니다.
약간 귀찮지만 이제 거의 대부분 동작합니다. 스크립트를 고치면서 이게 뭐하는 짓인가 하고 회의도 들었는데 다 만들고 책상을 보면 뿌듯합니다;;.. 하지만 아직 문제도 있습니다. fn키를 눌러야 되니 귀찮기도 하지만 ScrollLock, NumLock, CapsLock이 버튼들의 문제가 완전히 고쳐지지 않습니다. 그래서 키보드 펌웨어도 나와있지만 맥에 물려야 가능한 것이라 시도해볼 수 없었습니다. 현재는 저 버튼들을 누르면 모니터 오른쪽 하단에 CapsLock On과 같은 박스가 잠깐 나타납니다. 이때 키를 입력해서 정상적으로 사용하는 것은 괜찮지만 저 박스가 사라지기 전에 다시 같은 CapsLock을 누르는 것은 키보드를 뻗게 만듭니다. 이것은 약간 염두에 두고 사용해야 되겠더군요. 펌업을 해보면 괜찮아질것으로 예상은 하는데 주위에 맥 쓰는 이가 없기도 하고 심각한 문제도 아니라서 관뒀습니다.
정리하면. 키보드를 비스타에 붙이는 것은 알아서 하시면 됩니다. 특히 벨킨은 비스타32에서 쉽게 붙더군요. 그 뒤에 링크에서 다운받아서 autohotkey를 깔고, 다른 링크에서 rar를 다운받아서 HID와 USAGE정보를 알아냅니다. 그다음은 스크립팅 작업인데 귀찮은 분들은 첨부한 스크립트 받아서 사용하시면 되겠습니다. 물론 HID나 USAGE넘버는 고쳐줘야 합니다. 완성된 스크립트를 시작프로그램에 넣어두고 사용하시면 됩니다.
여기까지 하는데 정확하게 4시간 20분 걸렸습니다;. 키보드 하나 연결하는건데 일이 많군요;;;. 다른 분들은 이런 삽질 거치지 않고, 쉽게 이쁜 신형 맥 무선 많이들 사용하시길 바랍니다.
좋은 하루 되세요.
먼저 연결 자체는 쉬웠습니다. 페어링 문제라든지 이런저런 소문이 있었지만 제 한글 vista32와 벨킨 동글은 아무 생각없이 붙었습니다. 인터넷을 찾아보면 뭐 핀코드를 1111로 해야된다든지 하는 이야기가 있는데 벨킨 홈페이지에서 다운 받은 드라이버는 설치시에 핀코드를 정해줄 수 있고 무리없이 동작합니다. (동글이와 동봉된 드라이버는 시도해보지 않았고 위드컴 홈페이지에서 받은 드라이버는 설치가 안되더군요)
일단 키 레이아웃 자체는 사소한, 어찌보면 심각한 문제가 있습니다. 키패드가 없는 것은 당연한데 NumLock, ScrollLock, Break, PrtSc도 없고, Delete키가 있습니다만 Backspace로 동작하기에 Delete를 쓰는 단축기는 하나도 사용할 수 없습니다. Break가 없기에 도스 창에서 스크롤을 잠시 멈출 수도 없고, 혹시 numlock이나 scrolllock을 사용하는 프로그램이 있다면 불가합니다. Delete의 Backspace 동작은 많이 심각해서 파일을 지울 때 Shift+ Delete를 사용할 수 없고, Ctrl+ Alt+ Del로 컴터를 잠글 수도 없습니다. fn키도 제대로 동작하지 않습니다. 그렇기에, 적절한 드라이버로 이걸 어떻게든 커버를 해줘야 합니다..
가장 쉽고 당연한 해결책이 되어야 할 방법이 부트 캠프입니다. 1.4, 혹은 2.0 버전을 사용하게 되는데 저한테는 심각한 문제가 있었습니다. 넷 상에서 applekeyboardinstaller.exe와 같은 이름으로 돌아다니고 설치가 간단해서 많이 사용하시는 것 같은데 멀티미디어 키는 동작 안하는 것이 있어서 거의 사용불가입니다.
1. 멀티미디어 키가 동작을 제대로 안합니다. 하는 것도 있고 안하는 것도 있습니다.
2. Caps lock을 쓸 수 없습니다 누르는 순간 키보드가 뻗어서 키보드 전원을 껐다 켜야 합니다.
3. 키 입력이 일정 시간 없다가 다시 키를 누르는 순간 컴터에 블루스크린이 뜹니다. 그 기간이 짧아서 몇 분 정도 안쓰다가 키를 누르면 컴터가 죽습니다. 그렇다고 제 컴퓨터가 불안정해서 블루스크린이 가끔 보이는 것도 아닙니다.
멀티미디어 키 안쓰고, caps lock 안쓰고 살 수 있습니다만 저 세번째 문제는 심각합니다. 어떻게 참고 견딜 수준이 아니죠. 그래서 부트 캠프 드라이버는 지우고 드라이버는 bluetooth HID로 잡습니다. (장치관리자에 보면 HID 어쩌고 저쩌고 중에 맞는 것이 있는데, 혹시 이게 apple keyboard로 나와있으면 부트 캠프 드라이버가 잡힌 것입니다. 애플 드라이버를 언인스톨하고, 장치관리자에서는 드라이버를 업데이트 하면서 ‘컴퓨터에서 드라이버 찾아보기’를 선택해서 이것을 Bluetooth HID로 선택해주면 수동으로 잡을 수 있습니다.)
이렇게 하니 특히 블루 스크린은 안뜹니다만 역시나 펑션키를 이용한 멀티미디어 기능, 혹은 PgUp과 같은 키는 역시 사용불가입니다.(PgUp과 같은 키는 원래 없으니 애초에 사용할 수 없죠;;) 그래서 autohotkey와 같은 매핑 프로그램을 시도하게 되는데, 역시나 문제가 있습니다. fn키 자체가 독특하다보니 매핑 프로그램에서 fn키를 잡지 못합니다. 그러니 매핑을 시킬 수가 없죠. 그래서 구글링을 하던 도중에 해답을 찾았습니다.
http://www.autohotkey.net/~daonlyfreez/tutorials/3p/Veil/fnkey.htm
저 웹싸이트를 보면 아시겠지만 제목이 “Mystery of the FN Key” 입니다. 말그대로 fn키를 인식시키는 방법에 대한 싸이트입니다. 귀찮은 분들을 위해서 자세한 내용은 각설하고 적당히 줄이면 autohotkey로는 fn키를 잡지 못하기에 같은 페이지에 있는 dll을 사용해서 fn키를 잡겠다는 것입니다.
1. Autohotkey를 인스톨 합니다.
2. http://www.autohotkey.net/~Micha/HIDsupport/AutohotkeyRemoteControl.rar 를 다운받아 압축을 풀고 같이 있는 AutoHotkeyRemoteControlDLL.ahk를 사용해서 fn키가 있는 HID와 USAGE정보를 찾습니다. (스크립트를 약간 고쳐야 합니다.)
3. 이제 fn키를 잡을 수 있으니 맘대로 스크립트를 짜서 필요한 매핑을 합니다.
말로는 간단한데 약간 귀찮습니다. 그렇지만 기본적으로 fn키를 인식시키는데에는 코딩이나 이런 것들이 전혀 필요없고 저 압축파일에 있는 스크립트를 몇자 고쳐주는 것으로 사용 가능합니다. 하지만 멀티미디어 키, 라든지 부족한 키를 보충하기 위해서는 스크립트를 더 많이 고쳐야 합니다.
저는 autohotkey를 처음 다뤄보는거라 새로 짜는건 애초에 계획에도 없었고, 저 링크된 페이지에 있는 샘플을 고치는 것 정도로 원하는 건 다 할 수 있겠더군요. 약간 설명하면 fn키가 눌러지면 스크립트에 있는 글로벌 변수인 fnPressed가 1로 셋팅됩니다. 그러니 다른 키 매핑 부분에서 fnPressed만 체크하면 fn키와 관련된 것들은 다 할 수 있습니다.
그래서, 일단 샘플에 있는
Fn+ Delete -> 제대로 delete로 동작하게.
Fn+ left, right, up, down -> Home, End, PgUp, PgDn
CD Eject -> 실제로 cd tray가 동작하도록.
Fn+ F10, F11, F12 -> volume mute, down, up (winamp랑 연동되어 있습니다.)
정도 이외에
Ctrl+ Alt+ Del -> 실제로 동작하도록 (위에서 이야기했듯 Del이 BS로 먹어서 원래 동작X)
Shift+ Del -> 같은 이유로 동작 안하기에 제대로 윈도상에서 파일 지울 수 있도록.
Fn+ Shift+ Right, Left -> Shift+ End, Home 으로 매핑. 이거 필요하죠.
Fn+ Shift+ Up, Down -> Shift+ Up, Down으로 매핑.
Fn+ F7 -> PrtSc, 없으니 불편해서, 물론 fn+ Alt+ F7은 Alt+ PrtSc로
Fn+ F8 -> ScrollLock. 심심해서.
Fn+ F6 -> NumLock. 넣는 김에.
Fn+ F9 -> Break, 도스창에서 스크롤을 멈출 때 필요하죠. 근데 CtrlBreak는 왜인지 안먹더군요. 그렇지만 Ctrl+ C로 거의 대체가능하기에 더 고치는건 관뒀습니다.
Fn+ F10, F11, F12 -> 각각 마스터 볼륨 mute, down, up입니다.
약간 귀찮지만 이제 거의 대부분 동작합니다. 스크립트를 고치면서 이게 뭐하는 짓인가 하고 회의도 들었는데 다 만들고 책상을 보면 뿌듯합니다;;.. 하지만 아직 문제도 있습니다. fn키를 눌러야 되니 귀찮기도 하지만 ScrollLock, NumLock, CapsLock이 버튼들의 문제가 완전히 고쳐지지 않습니다. 그래서 키보드 펌웨어도 나와있지만 맥에 물려야 가능한 것이라 시도해볼 수 없었습니다. 현재는 저 버튼들을 누르면 모니터 오른쪽 하단에 CapsLock On과 같은 박스가 잠깐 나타납니다. 이때 키를 입력해서 정상적으로 사용하는 것은 괜찮지만 저 박스가 사라지기 전에 다시 같은 CapsLock을 누르는 것은 키보드를 뻗게 만듭니다. 이것은 약간 염두에 두고 사용해야 되겠더군요. 펌업을 해보면 괜찮아질것으로 예상은 하는데 주위에 맥 쓰는 이가 없기도 하고 심각한 문제도 아니라서 관뒀습니다.
정리하면. 키보드를 비스타에 붙이는 것은 알아서 하시면 됩니다. 특히 벨킨은 비스타32에서 쉽게 붙더군요. 그 뒤에 링크에서 다운받아서 autohotkey를 깔고, 다른 링크에서 rar를 다운받아서 HID와 USAGE정보를 알아냅니다. 그다음은 스크립팅 작업인데 귀찮은 분들은 첨부한 스크립트 받아서 사용하시면 되겠습니다. 물론 HID나 USAGE넘버는 고쳐줘야 합니다. 완성된 스크립트를 시작프로그램에 넣어두고 사용하시면 됩니다.
여기까지 하는데 정확하게 4시간 20분 걸렸습니다;. 키보드 하나 연결하는건데 일이 많군요;;;. 다른 분들은 이런 삽질 거치지 않고, 쉽게 이쁜 신형 맥 무선 많이들 사용하시길 바랍니다.
좋은 하루 되세요.
2008.04.16 06:52:01 (*.192.86.221)
일단.. 좋은 정보 감사합니다..... 키보드 필터 드라이버만큼이나 이것도 엄청난 정보로군요... 역시 사람이 만든 자물쇠는 사람이 풀 수 있다는 것은 불변의 질리로군요... Fn 불가촉야, 와이어링지유일도야..라는 무념무상의 후렴구를 여지없이 깨셨습니다. 그 좋은 민희 키보드의 어이없는 Fn 키에 얼마나 절망을 했던지... 좋은 정보 정말 감사합니다.......
2008.04.16 07:35:42 (*.192.86.221)
남들 일부러 다 리매핑시켜서 없애는 것들을... 님은 심심해서 살리시는 특이한 분이시군요... 스크롤락은 전혀 관심이 없어서 모르겠고, 넘락과 캡스락은 기본적인 작동 자체가 님이 설명하신 글로벌 변수 활용법(혹은 GetKeyState 명령)인 것으로 이해하고 있습니다. 늘 궁금 했던 것이 LED와 소리를 어떻게 옮기느냐 하는 것이었습니다. Keytweak으로 리매핑을 하면 전혀 문제가 없는데, AHK 리매핑 해버리면 해당 기능만 이동해버리고선...LED가 장님되고 Beep는 벙어리가 되더군요.... 연구하셔서... 다른 키에도 LED 제어와 삑/뽁 소리 마음대로 붙였다 떼었다 제어할 수 있는 방법 좀 가르쳐 주세요.......
2008.04.16 08:56:23 (*.244.56.154)
scrolllock은 되나 안되나 싶어 넣었죠;. 필요없으면 주석처리 하면 되니까요.
근데 말씀하신 것은 정확하게 어떤 문제인지 잘 모르겠습니다. beep은 제 컴퓨터에서 안들립니다.(이유는 모릅니다;;). capslock위의 LED가 옮겨가는 문제라면은 AHK에서 Send {CapsLock} 으로 기능과 LED가 잘 되는거 같습니다. 시험삼아 fn을 capslock으로 ahk로 매핑했는데 동작도 하고 capslock 위의 led도 잘 깜빡거리는군요. 혹시 부트캠프 드라이버를 쓰시면 블루투스 HID로 바꿔보시는것도 괜찮을 것 같습니다. 부트 캠프 드라이버가 괜히 문제를 일으키는 부분도 좀 있는것 같더군요. capslock으로 키보드를 죽인다든지.
근데 말씀하신 것은 정확하게 어떤 문제인지 잘 모르겠습니다. beep은 제 컴퓨터에서 안들립니다.(이유는 모릅니다;;). capslock위의 LED가 옮겨가는 문제라면은 AHK에서 Send {CapsLock} 으로 기능과 LED가 잘 되는거 같습니다. 시험삼아 fn을 capslock으로 ahk로 매핑했는데 동작도 하고 capslock 위의 led도 잘 깜빡거리는군요. 혹시 부트캠프 드라이버를 쓰시면 블루투스 HID로 바꿔보시는것도 괜찮을 것 같습니다. 부트 캠프 드라이버가 괜히 문제를 일으키는 부분도 좀 있는것 같더군요. capslock으로 키보드를 죽인다든지.
2008.04.16 09:14:01 (*.244.56.154)
그리고. 정확히 이야기하면. 제가 fn의 신비를 깬건 아니고. 저 링크에 있는 dll을 만드신 분이 해결하신거죠. 워낙에 fn키는 못쓴다는 이야기가 많아서 소개차 올린 것입니다.
2008.04.16 09:58:52 (*.192.86.221)
발명, 발견, 기획, 홍보, 소개... 다들 중요한 역할이지요.. (괜한 흥분을 했다면 죄송합니다.). 삑/뽁 소리가 나는 것은 기억해보니.... 제어판/내게 필요한 옵션 모음/보다 쉽게 작업에 집중할 수 있도록 설정/입력하기 쉽게 설정/토글 키 켜기...에서 옵션을 걸었던 것이었습니다. 이런 소리 기능을 이동시키고자 했던 것입니다. 사실, 한/영 전환 시에 LED 표시와 소리를 넣고자 하는 것이 진짜 의도이지요.... 물론 소리는 Soundbeep 명령으로 흉내는 내고는 있습니다..... LED는 도통 방법을 모르겠네요 (님의 말씀이 맞네요, LED가 죽는 것은 아닙니다. 제가 소리와 같이 가는 것으로 착각을 했군요..)...저는 애플 사용자 아닙니다. 일반인으로 비전산인이며 초보 컴퓨터 사용자이고 넌-와이어레스 키보드 소유자입니다. 감사합니다.
2008.04.16 12:38:18 (*.244.56.154)
보아하니 저 dll이 wm_input을 잡는거라 애플의 fn나 eject키와 같은 규격외의 키 입력, 혹은 다른 미니 키보드의 특이한 키나 버튼 많은 마우스를 잡아서 AHK로 매핑시켜 쓸 수 있을겁니다.
근데 한영키를 LED토글과 함께 삑소리를 내는건 좀 다른 문제이고 AHK에서 특정 키 매핑에 soundbeep와 LED 제어를 같이 집어넣으면 될것 같습니다. ((Link)www.autohotkey.com 이게 LED제어에 관한 스레드네요.)
근데 한영키를 LED토글과 함께 삑소리를 내는건 좀 다른 문제이고 AHK에서 특정 키 매핑에 soundbeep와 LED 제어를 같이 집어넣으면 될것 같습니다. ((Link)www.autohotkey.com 이게 LED제어에 관한 스레드네요.)
2008.04.16 14:58:05 (*.32.80.130)
저도 Micha의 오토핫키 스크립트를 조금 살펴보다가 포기했는데
이걸 써먹은 사람이 있군요.
시간 날 때 찬찬히 살펴봐야겠습니다.
좋은 정보 감사합니다.
이걸 써먹은 사람이 있군요.
시간 날 때 찬찬히 살펴봐야겠습니다.
좋은 정보 감사합니다.
2008.04.21 16:57:36 (*.128.144.196)
좋은 글 잘 읽었습니다. AutoHotKey로 한/영키랑 한자키를 맵핑하는건 성공했는데 Fn 키를 맵핑하는건 아직도 버벅거리고 있어서;; 혹시 스크립트를 공개해 주실수는 있나요? 기존에 AutoHotkey는 스크립트 붙여넣으면 되는거 같아서요.. 어렵네요 ㅠ
2008.04.21 23:58:02 (*.244.56.154)
fn 에 다른 키를 할당하는 것이라면 ProcessHIDData(wParam, lParam)에서 고쳐야죠. if (FnValue = 16) 으로 시작하는 부분을 아마
if(FnValue = 16 ) { Send {Alt Down} } else { Send {Alt Up } }
이렇게 고쳐주시면 fn키가 눌러지거나 떨어질 때 각각 Alt를 누르거나 올리는 것으로 동작할듯.
그리고 다른 키에 fn을 할당하는 거라면
Alt::AltFunc()
AltFunc()
{
global fnPressed
fnPressed = 1
KeyWait, Alt
fnPressed = 0
}
Return
정도가 되지 않을까요. 저도 애플 미니키보드를 사고 autohotkey를 처음 살펴보는거라 더 매끄럽게 하는 방법도 있을것도 같은데 안타깝습니다. 애초에 저는 아주 불편하지 않으면 거기 맞춰 사는 타입이라 따로 autohotkey를 살펴보지도 않고 해서 님 댓글 보고 생각해본건데 아마 문제점도 좀 있을듯 합니다.
시도해보시고, 자세한 것은 쪽지로 보내주시면 감사하겠습니다.
if(FnValue = 16 ) { Send {Alt Down} } else { Send {Alt Up } }
이렇게 고쳐주시면 fn키가 눌러지거나 떨어질 때 각각 Alt를 누르거나 올리는 것으로 동작할듯.
그리고 다른 키에 fn을 할당하는 거라면
Alt::AltFunc()
AltFunc()
{
global fnPressed
fnPressed = 1
KeyWait, Alt
fnPressed = 0
}
Return
정도가 되지 않을까요. 저도 애플 미니키보드를 사고 autohotkey를 처음 살펴보는거라 더 매끄럽게 하는 방법도 있을것도 같은데 안타깝습니다. 애초에 저는 아주 불편하지 않으면 거기 맞춰 사는 타입이라 따로 autohotkey를 살펴보지도 않고 해서 님 댓글 보고 생각해본건데 아마 문제점도 좀 있을듯 합니다.
시도해보시고, 자세한 것은 쪽지로 보내주시면 감사하겠습니다.
2008.07.15 07:33:29 (*.66.68.217)
아.. 초보자에겐 너무 어렵습니다.
fn키가 있는 HID와 USAGE정보를 찾는것...
HID 장치가 6개가 잡히는데 4개는 Usge가 1 UsagePage가 12로 나오고
2개는 Usge가 2 UsagePage가 65280으로로 나옵니다.
저중에 어느 값인지..
그리고 그 값을 받은 keyMapper.ahk 의 어느부분에 바꾸어 넣어줘여야 하는지
머리를 싸매고 봐도 모르겠습니다.
어느분이 쉽게좀 설명해 주시면 감사하겠습니다.
fn키가 있는 HID와 USAGE정보를 찾는것...
HID 장치가 6개가 잡히는데 4개는 Usge가 1 UsagePage가 12로 나오고
2개는 Usge가 2 UsagePage가 65280으로로 나옵니다.
저중에 어느 값인지..
그리고 그 값을 받은 keyMapper.ahk 의 어느부분에 바꾸어 넣어줘여야 하는지
머리를 싸매고 봐도 모르겠습니다.
어느분이 쉽게좀 설명해 주시면 감사하겠습니다.
2008.07.25 07:52:35 (*.66.68.217)
AutoHotkeyRemoteControlDLL.ahk를 사용해서 얻은 값(Fn:10 Eject:8)으로
; Filter bit 5 (Fn key)
Transform, FnValue, BitAnd, 10, KeyStatus
; Filter bit 4 (Eject key)
Transform, EjectValue, BitAnd, 8, KeyStatus
if (FnValue = 10) {
; Fn is pressed
fnPressed := 1
} else {
; Fn is released
fnPressed := 0
}
으로 바꾼후 Eject키는 잘 되는데 Fn키는 전혀 안되고 있습니다.
또 어느행에 어떤 값을 바꾸어 주어야 하는지 조언좀 부탁 드립니다.
; Filter bit 5 (Fn key)
Transform, FnValue, BitAnd, 10, KeyStatus
; Filter bit 4 (Eject key)
Transform, EjectValue, BitAnd, 8, KeyStatus
if (FnValue = 10) {
; Fn is pressed
fnPressed := 1
} else {
; Fn is released
fnPressed := 0
}
으로 바꾼후 Eject키는 잘 되는데 Fn키는 전혀 안되고 있습니다.
또 어느행에 어떤 값을 바꾸어 주어야 하는지 조언좀 부탁 드립니다.
2008.11.06 10:23:48 (*.150.111.76)
혹시 키보드의 HID정보가 나오지 않으면 사용을 못하는 건가요?
IBM T61사용자 인데
SubType:0, Keyboardmode:1, FunctionKeys:12, Indicators:3, Total Keys:101, Name:\??\Root#RDP_KBD#0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd}
SubType:3, Keyboardmode:1, FunctionKeys:12, Indicators:3, Total Keys:101, Name:\??\ACPI#PNP0303#4&374ccb25&0#{884b96c3-56ef-11d1-bc8c-00a0c91405dd}
이렇게만 나오는데..
IBM T61사용자 인데
SubType:0, Keyboardmode:1, FunctionKeys:12, Indicators:3, Total Keys:101, Name:\??\Root#RDP_KBD#0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd}
SubType:3, Keyboardmode:1, FunctionKeys:12, Indicators:3, Total Keys:101, Name:\??\ACPI#PNP0303#4&374ccb25&0#{884b96c3-56ef-11d1-bc8c-00a0c91405dd}
이렇게만 나오는데..
2009.04.12 23:55:46 (*.36.224.108)
해킨토시 깔아서 키보드 펌웨어를 업글해주니 CapsLock이나 NumLock을 빠르게 반복해서 누를때 키보드가 뻗어버리는 현상이 해결되었습니다.
2009.07.07 19:53:49 (*.162.203.209)
방금 애플 키보드를 설치하고 키 매핑에 많은 도움이 되었습니다.
if(FnValue = 16 ) { Send {Ctrl Down} } else { Send {Ctrl Up } }
을 사용해서 펑션키를 컨트롤로 하고
LCtrl::CtrlFunc()
CtrlFunc()
{
global fnPressed
fnPressed = 1
KeyWait, LCtrl
fnPressed = 0
}
Return
이걸 추가해서 왼쪽 컨트롤을 펑션키로 교환하는것을 성공하였습니다.
그런다음
LAlt::LWin
Return
LWin::LAlt
Return
RWin::RAlt
Return
RAlt::Rwin
Return
이걸 추가해서 윈도우키와 알트키를 바꾸는걸 시도하였는데요
이후 알트와 윈도우키를 바꾸긴 했지만 알트키를 눌러 한영 전환이 안됩니다
문제점은..
실제로 우측 Alt 키 자체가 사실은 Alt의 기능이 전혀 없이 한영변환으로만 작동하기 때문에
RWin::RAlt 명령을 써서는 안되는거 같은데...
어떻하면 좋을까요
--------------------------
이러고 써놓고 문제를 해결해버렸습니다;
RWin::
Send, {vk15sc138}
Return
RAlt::
Send, {vk19sc1F1}
Return
이렇게 써 놓으면 우측 윈도우는 한영변환
우측 알트는 한자 변환이 됩니다 ..
해결을 해놓고 보니 이제는 다른 문제에 봉착했습니다
시디롬을 거의 사용하지 않기 때문에 Eject 키에 Delete 키를 할당 하려고
if(FnValue = 16 ) { Send {Ctrl Down} } else { Send {Ctrl Up } } 나온것과 같은 방식으로
Delete 를 할당하였는데
이게 누르고 있으면 연속적으로 쭉 지워지지가 않습니다 .
어떻게 해결하면 좋을까요
if(FnValue = 16 ) { Send {Ctrl Down} } else { Send {Ctrl Up } }
을 사용해서 펑션키를 컨트롤로 하고
LCtrl::CtrlFunc()
CtrlFunc()
{
global fnPressed
fnPressed = 1
KeyWait, LCtrl
fnPressed = 0
}
Return
이걸 추가해서 왼쪽 컨트롤을 펑션키로 교환하는것을 성공하였습니다.
그런다음
LAlt::LWin
Return
LWin::LAlt
Return
RWin::RAlt
Return
RAlt::Rwin
Return
이걸 추가해서 윈도우키와 알트키를 바꾸는걸 시도하였는데요
이후 알트와 윈도우키를 바꾸긴 했지만 알트키를 눌러 한영 전환이 안됩니다
문제점은..
실제로 우측 Alt 키 자체가 사실은 Alt의 기능이 전혀 없이 한영변환으로만 작동하기 때문에
RWin::RAlt 명령을 써서는 안되는거 같은데...
어떻하면 좋을까요
--------------------------
이러고 써놓고 문제를 해결해버렸습니다;
RWin::
Send, {vk15sc138}
Return
RAlt::
Send, {vk19sc1F1}
Return
이렇게 써 놓으면 우측 윈도우는 한영변환
우측 알트는 한자 변환이 됩니다 ..
해결을 해놓고 보니 이제는 다른 문제에 봉착했습니다
시디롬을 거의 사용하지 않기 때문에 Eject 키에 Delete 키를 할당 하려고
if(FnValue = 16 ) { Send {Ctrl Down} } else { Send {Ctrl Up } } 나온것과 같은 방식으로
Delete 를 할당하였는데
이게 누르고 있으면 연속적으로 쭉 지워지지가 않습니다 .
어떻게 해결하면 좋을까요
2009.08.08 17:34:03 (*.36.225.19)
오래간만에 들어와서 잠시 살펴봤는데요.
fn키의 경우 펑션키니까. 보통 사용하는 방법이
fn을 약간 먼저 누르고 그것을 유지하면서 곧이어 다른 키를 누르게 되는 식인데 fn키가 눌려 있다고 해서 여러번 입력이 들어가면
결국은 fn+특정키 입력이 여러번 들어가게되죠. 이거는 막아야 되는게 보통입니다.
그래서 usage를 알아내는 스크립트를 실행해봐도 dll에서 잡은 메시지를 걸러 결국 스크립트로 전달되는 메시지는
처음에 누를때 pressed, 중간에 눌려져 있는 상태에서는 아무 메시지 없음, 뗄 때 released밖에 안오는 것 같습니다.
이래서는 eject나 fn은 여러번 입력이 불가능하죠. 원래 그렇게 디자인되는게 맞기도 하고요.
제가 볼 때는 usage 정도 고치는 수준에서는 정공법으로 해결 안되는 것 같습니다.
-----------
if (FnValue = 16) {
; Fn is pressed
;fnPressed := 1
Send {Backspace}
setTimer, backSpaces, 25
} else {
; Fn is released
;fnPressed := 0
setTimer, backSpaces, Off
}
.
.
.
;;;;;;;;;;;
;backspace
;;;;;;;;;;;
backSpaces:
Send {Backspace}
return
-------------------------
이정도 수준에서 흉내는 가능할 것 같습니다.
Send {Backspace}
setTimer, backSpaces, 25
이 문장 사이에 딜레이를 잠깐 주면 진짜 키보드처럼 동작하는 것과 약간 더 비슷하겠죠.
좀 더 자세히 알아보시려면 아예 ahk.dll같은걸로 멀티스레딩을 찾아보시거나.
AutohotkeyRemoteControl.dll 자체에 대해서 더 살펴보셔야 할 듯 합니다.
저는 좀 읽다가. 굳이 fn을 다른걸로 매핑까지 해서 써야하나. 하는 생각이 들어서 좀 찾아서 읽다가 관두고
저정도로 때우고 말았습니다;;
fn키의 경우 펑션키니까. 보통 사용하는 방법이
fn을 약간 먼저 누르고 그것을 유지하면서 곧이어 다른 키를 누르게 되는 식인데 fn키가 눌려 있다고 해서 여러번 입력이 들어가면
결국은 fn+특정키 입력이 여러번 들어가게되죠. 이거는 막아야 되는게 보통입니다.
그래서 usage를 알아내는 스크립트를 실행해봐도 dll에서 잡은 메시지를 걸러 결국 스크립트로 전달되는 메시지는
처음에 누를때 pressed, 중간에 눌려져 있는 상태에서는 아무 메시지 없음, 뗄 때 released밖에 안오는 것 같습니다.
이래서는 eject나 fn은 여러번 입력이 불가능하죠. 원래 그렇게 디자인되는게 맞기도 하고요.
제가 볼 때는 usage 정도 고치는 수준에서는 정공법으로 해결 안되는 것 같습니다.
-----------
if (FnValue = 16) {
; Fn is pressed
;fnPressed := 1
Send {Backspace}
setTimer, backSpaces, 25
} else {
; Fn is released
;fnPressed := 0
setTimer, backSpaces, Off
}
.
.
.
;;;;;;;;;;;
;backspace
;;;;;;;;;;;
backSpaces:
Send {Backspace}
return
-------------------------
이정도 수준에서 흉내는 가능할 것 같습니다.
Send {Backspace}
setTimer, backSpaces, 25
이 문장 사이에 딜레이를 잠깐 주면 진짜 키보드처럼 동작하는 것과 약간 더 비슷하겠죠.
좀 더 자세히 알아보시려면 아예 ahk.dll같은걸로 멀티스레딩을 찾아보시거나.
AutohotkeyRemoteControl.dll 자체에 대해서 더 살펴보셔야 할 듯 합니다.
저는 좀 읽다가. 굳이 fn을 다른걸로 매핑까지 해서 써야하나. 하는 생각이 들어서 좀 찾아서 읽다가 관두고
저정도로 때우고 말았습니다;;
작성된지 6개월이 지난 글에는 새 코멘트를 달 수 없습니다.