2009-11-20 2 views
1

Windows XP pro SP3을 사용하고 있습니다. 표준 영어 키보드. 나는 미국에 살고있다. 절대로 키보드 설정을 건드리지 마십시오. 재고 있음. 내 프로그램은 복귀 된 스캔 코드를 확인 키를 누르면 다음 그래서 그들은 같습니다키를 누를 때의 Scancode가 다릅니다. Microsoft 사양이 잘못 되었습니까?

A = 30
S = 31
D = 32
F = 33
G = 34

I을

A = 31
S = 32
D = 33을 : 그것은라는 마이크로 소프트 사양 (문서 :: http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/scancode.doc을 11 페이지)를 점검 F = 34
G = 35

1에서 벗어났습니다! 어떤 아이디어?

+0

0 기반 인덱싱? –

+0

사용중인 API를 알려주십시오. 참으로 상쇄 될 수 있습니다. – bmargulies

+0

나는 이것이 가능하고, 처음 생각했지만, 다시 한번 ... MS가 그것을 지정하지 않으면 그의 키보드가 0 기반 인덱싱을 사용하는 이유는 무엇입니까? 그리고 모든 타이핑이 빨아 들여서는 안되는 이유는 무엇입니까? –

답변

-1

키보드가 하드웨어 수준에서 결함이 있거나 키보드 드라이버에 문제가 있는지 확인할 수 있습니까?

1

인용 한 Microsoft 키보드 스캔 코드 사양에는 6 개의 열이 있습니다. A 키를 들면 :

키 위치 : 31
키보드, •
스캔 한 메이크업 : 1E
스캔 한 휴식 : 9E
스캔이 메이크업 : 1C
스캔이 휴식 : F0 1C

"스캔 2"세트는 원래 IBM PC 스캔 코드 ("스캔 1")와 다른 대체 하드웨어 스캔 코드입니다. "키 위치"는 31이며 "스캔 1 확인"은 30입니다. 이는 원래 게시 한 값으로 무엇을보고 있는지 설명하는 데 도움이 될 수 있습니다. 아마도 여러분은 Esc와`와 같은 키를 볼 수 있습니다. 이것은 각 집합에서 매우 다릅니다 (오도 된 것만 큼 틀리지 않습니다).

당신이보고 한 스캔 코드 값을 얻기 위해 사용하고있는 API 또는 Windows 메시지를 말하지 않았지만, 사용중인 모든 것에 대한 자세한 문서를 보면 자세한 정보를 찾을 수 있습니다.

관련 문제