키패드에는 넘락 키가 있는데 넘락의 상태는 키패드와 운영체제에서 각각 따로 유지하고 있습니다. 그리고 레오폴드 FC210TP 키패드는 넘락이 PC의 넘락과 동기화 되지 않는 제품입니다. 먼저 넘락이 PC와 동기화 된 경우를 설명하겠습니다.
키패드의 넘락이 PC의 넘락과 동기화된 키패드의 동작 방식
- 넘락을 눌렀을 때
- 넘락의 코드값이 키패드에서 출력된다.
- PC와 키패드의 넘락이 꺼진 경우
- 7을 누르면 KP_Home(KP=KeyPad) 코드값이 출력되고 8을 누르면 KP_Up 코드값이 출력된다.
- 7을 누르면 KP_Home(KP=KeyPad) 코드값이 출력되고 8을 누르면 KP_Up 코드값이 출력된다.
- PC와 키패드의 넘락이 켜진 경우
- 7을 누르면 KP_Home 코드값이 출력되고 8을 누르면 KP_Up 코드값이 출력된다.
PC에서 넘락이 켜져 있으므로 KP_Home이 KP_7으로 인식되고 KP_Up이 KP_8로 인식이 된다.
- 7을 누르면 KP_Home 코드값이 출력되고 8을 누르면 KP_Up 코드값이 출력된다.
키패드의 넘락이 PC의 넘락과 동기화 되지 않은 FC210TP의 경우
- 넘락을 눌렀을 때
- 넘락의 코드값이 키패드에서 출력되지 않는다.
- 키패드 넘락 OFF, PC 넘락 OFF
- 7을 누르면 KP_Home 코드값이 출력되고 8을 누르면 KP_Up 코드값이 출력된다.
- 키패드 넘락 OFF, PC 넘락 ON
- 7을 누르면 Home 코드값이 출력되고 8을 누르면 Up 코드값이 출력된다.
- 문제점
- 키패드 코드값이 출력되지 않으므로 키패드 코드값에 의존하는 프로그램에서는 문제가 발생할 수 있음.
- 키패드 코드값이 출력되지 않으므로 키패드 코드값에 의존하는 프로그램에서는 문제가 발생할 수 있음.
- 키패드 넘락 ON, PC 넘락 ON
- 7을 누르면 KP_Home(KP=KeyPad) 코드값이 출력되고 8을 누르면 KP_Up 코드값이 출력된다.
PC에서 넘락이 켜져 있으므로 KP_Home이 KP_7으로 인식되고 KP_Up이 KP_8로 인식이 된다.
- 7을 누르면 KP_Home(KP=KeyPad) 코드값이 출력되고 8을 누르면 KP_Up 코드값이 출력된다.
- 키패드 넘락 ON, PC 넘락 OFF
- 7을 누르면 다음과 같은 순서로 코드값이 출력된다.
넘락 -> KP_Home -> 넘락
8을 누르면 다음과 같은 순서로 코드값이 출력된다.
넘락 -> KP_Up -> 넘락 - PC의 넘락을 킨 뒤 KP_Home, KP_Up같은 코드값을 출력하고 PC의 넘락을 끈다.
- 문제점
- 윈도우즈에서는 문제가 없지만 리눅스에서는 키패드를 빠르게 연타하면 다음과 같이 코드값이 인식 되는 경우가 자주 발생한다.
넘락 -> KP_Home -> 넘락 -> KP_Up -> 넘락 -> 넘락
그러므로 PC의 넘락이 꺼진 상태에서 KP_Up이 출력된다.
결과적으로 8대신에 위쪽 방향키가 입력 됨.
- 윈도우즈에서는 문제가 없지만 리눅스에서는 키패드를 빠르게 연타하면 다음과 같이 코드값이 인식 되는 경우가 자주 발생한다.
- 7을 누르면 다음과 같은 순서로 코드값이 출력된다.
개인적으로 생각해본 해결책
펌웨어를 수정하여 FC210TP에서 Esc를 Fn키로 바꾼다.
Fn+Enter키를 누르면 키패드 넘락과 PC 넘락의 동기화를 끄고 켜도록 한다.
Fn키가 있으면 넘락 동기화 토글 뿐만이 아니라 쓸만한 단축키를 몇 개 정도 더 추가할 수 있을 것 같네요.