I have attached a utility that runs the API VkKeyScan() from ascii 9 to 255. I can do my own testing an a US version of Windows but I have no way of testing non-US editions of Windows. Could I impose on a few folks who use non-US editions of Windows with non-US keyboards to see the results.
You would run the utility from the command line with the following,
scode > lst.txt
What I need to see is the text file that is redirected from the utility. On my US keyboard on Win7 64 I get this.
ascii char (9) = TAB scancode = 009h shift state = None
ascii char (10) = LF scancode = 00Dh shift state = Ctrl
ascii char (11) = scancode = 04Bh shift state = Ctrl
ascii char (12) = scancode = 04Ch shift state = Ctrl
ascii char (13) = CR scancode = 00Dh shift state = None
ascii char (14) = scancode = 04Eh shift state = Ctrl
ascii char (15) = scancode = 04Fh shift state = Ctrl
ascii char (16) = scancode = 050h shift state = Ctrl
ascii char (17) = scancode = 051h shift state = Ctrl
ascii char (18) = scancode = 052h shift state = Ctrl
ascii char (19) = scancode = 053h shift state = Ctrl
ascii char (20) = scancode = 054h shift state = Ctrl
ascii char (21) = scancode = 055h shift state = Ctrl
ascii char (22) = scancode = 056h shift state = Ctrl
ascii char (23) = scancode = 057h shift state = Ctrl
ascii char (24) = scancode = 058h shift state = Ctrl
ascii char (25) = scancode = 059h shift state = Ctrl
ascii char (26) = scancode = 05Ah shift state = Ctrl
ascii char (27) = scancode = 01Bh shift state = None
ascii char (28) = scancode = 0DCh shift state = Ctrl
ascii char (29) = scancode = 0DDh shift state = Ctrl
ascii char (30) = scancode = 036h shift state = Alt
ascii char (31) = scancode = 0BDh shift state = Alt
ascii char (32) = scancode = 020h shift state = None
ascii char (33) = ! scancode = 031h shift state = Shift
ascii char (34) = " scancode = 0DEh shift state = Shift
ascii char (35) = # scancode = 033h shift state = Shift
ascii char (36) = $ scancode = 034h shift state = Shift
ascii char (37) = % scancode = 035h shift state = Shift
ascii char (38) = & scancode = 037h shift state = Shift
ascii char (39) = ' scancode = 0DEh shift state = None
ascii char (40) = ( scancode = 039h shift state = Shift
ascii char (41) = ) scancode = 030h shift state = Shift
ascii char (42) = * scancode = 038h shift state = Shift
ascii char (43) = + scancode = 0BBh shift state = Shift
ascii char (44) = , scancode = 0BCh shift state = None
ascii char (45) = - scancode = 0BDh shift state = None
ascii char (46) = . scancode = 0BEh shift state = None
ascii char (47) = / scancode = 0BFh shift state = None
ascii char (48) = 0 scancode = 030h shift state = None
ascii char (49) = 1 scancode = 031h shift state = None
ascii char (50) = 2 scancode = 032h shift state = None
ascii char (51) = 3 scancode = 033h shift state = None
ascii char (52) = 4 scancode = 034h shift state = None
ascii char (53) = 5 scancode = 035h shift state = None
ascii char (54) = 6 scancode = 036h shift state = None
ascii char (55) = 7 scancode = 037h shift state = None
ascii char (56) = 8 scancode = 038h shift state = None
ascii char (57) = 9 scancode = 039h shift state = None
ascii char (58) = : scancode = 0BAh shift state = Shift
ascii char (59) = ; scancode = 0BAh shift state = None
ascii char (60) = < scancode = 0BCh shift state = Shift
ascii char (61) = = scancode = 0BBh shift state = None
ascii char (62) = > scancode = 0BEh shift state = Shift
ascii char (63) = ? scancode = 0BFh shift state = Shift
ascii char (64) = @ scancode = 032h shift state = Shift
ascii char (65) = A scancode = 041h shift state = Shift
ascii char (66) = B scancode = 042h shift state = Shift
ascii char (67) = C scancode = 043h shift state = Shift
ascii char (68) = D scancode = 044h shift state = Shift
ascii char (69) = E scancode = 045h shift state = Shift
ascii char (70) = F scancode = 046h shift state = Shift
ascii char (71) = G scancode = 047h shift state = Shift
ascii char (72) = H scancode = 048h shift state = Shift
ascii char (73) = I scancode = 049h shift state = Shift
ascii char (74) = J scancode = 04Ah shift state = Shift
ascii char (75) = K scancode = 04Bh shift state = Shift
ascii char (76) = L scancode = 04Ch shift state = Shift
ascii char (77) = M scancode = 04Dh shift state = Shift
ascii char (78) = N scancode = 04Eh shift state = Shift
ascii char (79) = O scancode = 04Fh shift state = Shift
ascii char (80) = P scancode = 050h shift state = Shift
ascii char (81) = Q scancode = 051h shift state = Shift
ascii char (82) = R scancode = 052h shift state = Shift
ascii char (83) = S scancode = 053h shift state = Shift
ascii char (84) = T scancode = 054h shift state = Shift
ascii char (85) = U scancode = 055h shift state = Shift
ascii char (86) = V scancode = 056h shift state = Shift
ascii char (87) = W scancode = 057h shift state = Shift
ascii char (88) = X scancode = 058h shift state = Shift
ascii char (89) = Y scancode = 059h shift state = Shift
ascii char (90) = Z scancode = 05Ah shift state = Shift
ascii char (91) = [ scancode = 0DBh shift state = None
ascii char (92) = \ scancode = 0DCh shift state = None
ascii char (93) = ] scancode = 0DDh shift state = None
ascii char (94) = ^ scancode = 036h shift state = Shift
ascii char (95) = _ scancode = 0BDh shift state = Shift
ascii char (96) = ` scancode = 0C0h shift state = None
ascii char (97) = a scancode = 041h shift state = None
ascii char (98) = b scancode = 042h shift state = None
ascii char (99) = c scancode = 043h shift state = None
ascii char (100) = d scancode = 044h shift state = None
ascii char (101) = e scancode = 045h shift state = None
ascii char (102) = f scancode = 046h shift state = None
ascii char (103) = g scancode = 047h shift state = None
ascii char (104) = h scancode = 048h shift state = None
ascii char (105) = i scancode = 049h shift state = None
ascii char (106) = j scancode = 04Ah shift state = None
ascii char (107) = k scancode = 04Bh shift state = None
ascii char (108) = l scancode = 04Ch shift state = None
ascii char (109) = m scancode = 04Dh shift state = None
ascii char (110) = n scancode = 04Eh shift state = None
ascii char (111) = o scancode = 04Fh shift state = None
ascii char (112) = p scancode = 050h shift state = None
ascii char (113) = q scancode = 051h shift state = None
ascii char (114) = r scancode = 052h shift state = None
ascii char (115) = s scancode = 053h shift state = None
ascii char (116) = t scancode = 054h shift state = None
ascii char (117) = u scancode = 055h shift state = None
ascii char (118) = v scancode = 056h shift state = None
ascii char (119) = w scancode = 057h shift state = None
ascii char (120) = x scancode = 058h shift state = None
ascii char (121) = y scancode = 059h shift state = None
ascii char (122) = z scancode = 05Ah shift state = None
ascii char (123) = { scancode = 0DBh shift state = Shift
ascii char (124) = | scancode = 0DCh shift state = Shift
ascii char (125) = } scancode = 0DDh shift state = Shift
ascii char (126) = ~ scancode = 0C0h shift state = Shift
ascii char (127) = scancode = 008h shift state = Ctrl
deleted
From my WinXP:
German version from Windows 7-64:
ascii char (9) = TAB scancode = 009h shift state = None
ascii char (10) = LF scancode = 00Dh shift state = Ctrl
ascii char (11) = scancode = 04Bh shift state = Ctrl
ascii char (12) = scancode = 04Ch shift state = Ctrl
ascii char (13) = CR scancode = 00Dh shift state = None
ascii char (14) = scancode = 04Eh shift state = Ctrl
ascii char (15) = scancode = 04Fh shift state = Ctrl
ascii char (16) = scancode = 050h shift state = Ctrl
ascii char (17) = scancode = 051h shift state = Ctrl
ascii char (18) = scancode = 052h shift state = Ctrl
ascii char (19) = scancode = 053h shift state = Ctrl
ascii char (20) = scancode = 054h shift state = Ctrl
ascii char (21) = scancode = 055h shift state = Ctrl
ascii char (22) = scancode = 056h shift state = Ctrl
ascii char (23) = scancode = 057h shift state = Ctrl
ascii char (24) = scancode = 058h shift state = Ctrl
ascii char (25) = scancode = 059h shift state = Ctrl
ascii char (26) = scancode = 05Ah shift state = Ctrl
ascii char (27) = scancode = 01Bh shift state = None
ascii char (28) = scancode = 0BFh shift state = Ctrl
ascii char (29) = scancode = 0BBh shift state = Ctrl
ascii char (30) = scancode = 036h shift state = Alt
ascii char (31) = scancode = 0BDh shift state = Alt
ascii char (32) = scancode = 020h shift state = None
ascii char (33) = ! scancode = 031h shift state = Shift
ascii char (34) = " scancode = 032h shift state = Shift
ascii char (35) = # scancode = 0BFh shift state = None
ascii char (36) = $ scancode = 034h shift state = Shift
ascii char (37) = % scancode = 035h shift state = Shift
ascii char (38) = & scancode = 036h shift state = Shift
ascii char (39) = ' scancode = 0BFh shift state = Shift
ascii char (40) = ( scancode = 038h shift state = Shift
ascii char (41) = ) scancode = 039h shift state = Shift
ascii char (42) = * scancode = 0BBh shift state = Shift
ascii char (43) = + scancode = 0BBh shift state = None
ascii char (44) = , scancode = 0BCh shift state = None
ascii char (45) = - scancode = 0BDh shift state = None
ascii char (46) = . scancode = 0BEh shift state = None
ascii char (47) = / scancode = 037h shift state = Shift
ascii char (48) = 0 scancode = 030h shift state = None
ascii char (49) = 1 scancode = 031h shift state = None
ascii char (50) = 2 scancode = 032h shift state = None
ascii char (51) = 3 scancode = 033h shift state = None
ascii char (52) = 4 scancode = 034h shift state = None
ascii char (53) = 5 scancode = 035h shift state = None
ascii char (54) = 6 scancode = 036h shift state = None
ascii char (55) = 7 scancode = 037h shift state = None
ascii char (56) = 8 scancode = 038h shift state = None
ascii char (57) = 9 scancode = 039h shift state = None
ascii char (58) = : scancode = 0BEh shift state = Shift
ascii char (59) = ; scancode = 0BCh shift state = Shift
ascii char (60) = < scancode = 0E2h shift state = None
ascii char (61) = = scancode = 030h shift state = Shift
ascii char (62) = > scancode = 0E2h shift state = Shift
ascii char (63) = ? scancode = 0DBh shift state = Shift
ascii char (64) = @ scancode = 051h shift state = Shift
ascii char (65) = A scancode = 041h shift state = Shift
ascii char (66) = B scancode = 042h shift state = Shift
ascii char (67) = C scancode = 043h shift state = Shift
ascii char (68) = D scancode = 044h shift state = Shift
ascii char (69) = E scancode = 045h shift state = Shift
ascii char (70) = F scancode = 046h shift state = Shift
ascii char (71) = G scancode = 047h shift state = Shift
ascii char (72) = H scancode = 048h shift state = Shift
ascii char (73) = I scancode = 049h shift state = Shift
ascii char (74) = J scancode = 04Ah shift state = Shift
ascii char (75) = K scancode = 04Bh shift state = Shift
ascii char (76) = L scancode = 04Ch shift state = Shift
ascii char (77) = M scancode = 04Dh shift state = Shift
ascii char (78) = N scancode = 04Eh shift state = Shift
ascii char (79) = O scancode = 04Fh shift state = Shift
ascii char (80) = P scancode = 050h shift state = Shift
ascii char (81) = Q scancode = 051h shift state = Shift
ascii char (82) = R scancode = 052h shift state = Shift
ascii char (83) = S scancode = 053h shift state = Shift
ascii char (84) = T scancode = 054h shift state = Shift
ascii char (85) = U scancode = 055h shift state = Shift
ascii char (86) = V scancode = 056h shift state = Shift
ascii char (87) = W scancode = 057h shift state = Shift
ascii char (88) = X scancode = 058h shift state = Shift
ascii char (89) = Y scancode = 059h shift state = Shift
ascii char (90) = Z scancode = 05Ah shift state = Shift
ascii char (91) = [ scancode = 038h shift state = Shift
ascii char (92) = \ scancode = 0DBh shift state = Shift
ascii char (93) = ] scancode = 039h shift state = Shift
ascii char (94) = ^ scancode = 0DCh shift state = None
ascii char (95) = _ scancode = 0BDh shift state = Shift
ascii char (96) = ` scancode = 0DDh shift state = Shift
ascii char (97) = a scancode = 041h shift state = None
ascii char (98) = b scancode = 042h shift state = None
ascii char (99) = c scancode = 043h shift state = None
ascii char (100) = d scancode = 044h shift state = None
ascii char (101) = e scancode = 045h shift state = None
ascii char (102) = f scancode = 046h shift state = None
ascii char (103) = g scancode = 047h shift state = None
ascii char (104) = h scancode = 048h shift state = None
ascii char (105) = i scancode = 049h shift state = None
ascii char (106) = j scancode = 04Ah shift state = None
ascii char (107) = k scancode = 04Bh shift state = None
ascii char (108) = l scancode = 04Ch shift state = None
ascii char (109) = m scancode = 04Dh shift state = None
ascii char (110) = n scancode = 04Eh shift state = None
ascii char (111) = o scancode = 04Fh shift state = None
ascii char (112) = p scancode = 050h shift state = None
ascii char (113) = q scancode = 051h shift state = None
ascii char (114) = r scancode = 052h shift state = None
ascii char (115) = s scancode = 053h shift state = None
ascii char (116) = t scancode = 054h shift state = None
ascii char (117) = u scancode = 055h shift state = None
ascii char (118) = v scancode = 056h shift state = None
ascii char (119) = w scancode = 057h shift state = None
ascii char (120) = x scancode = 058h shift state = None
ascii char (121) = y scancode = 059h shift state = None
ascii char (122) = z scancode = 05Ah shift state = None
ascii char (123) = { scancode = 037h shift state = None
ascii char (124) = | scancode = 0E2h shift state = None
ascii char (125) = } scancode = 030h shift state = None
ascii char (126) = ~ scancode = 0BBh shift state = None
ascii char (127) = scancode = 008h shift state = Ctrl
Gunther
WinXP:
Output is exactly the same as in your attachment .
One more :biggrin:
Microsoft have a scancode specification document (http://"http://www.google.com/search?q=%22keyboard+scan+code+specification%22+microsoft.com&hl=en"), might be useful.
Here is a direct link to the document:
http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/scancode.doc
The french one,XP SP3
Quote
ascii char (9) = TAB scancode = 009h shift state = None
ascii char (10) = LF scancode = 00Dh shift state = Ctrl
ascii char (11) = scancode = 04Bh shift state = Ctrl
ascii char (12) = scancode = 04Ch shift state = Ctrl
ascii char (13) = CR scancode = 00Dh shift state = None
ascii char (14) = scancode = 04Eh shift state = Ctrl
ascii char (15) = scancode = 04Fh shift state = Ctrl
ascii char (16) = scancode = 050h shift state = Ctrl
ascii char (17) = scancode = 051h shift state = Ctrl
ascii char (18) = scancode = 052h shift state = Ctrl
ascii char (19) = scancode = 053h shift state = Ctrl
ascii char (20) = scancode = 054h shift state = Ctrl
ascii char (21) = scancode = 055h shift state = Ctrl
ascii char (22) = scancode = 056h shift state = Ctrl
ascii char (23) = scancode = 057h shift state = Ctrl
ascii char (24) = scancode = 058h shift state = Ctrl
ascii char (25) = scancode = 059h shift state = Ctrl
ascii char (26) = scancode = 05Ah shift state = Ctrl
ascii char (27) = scancode = 01Bh shift state = None
ascii char (28) = scancode = 0DCh shift state = Ctrl
ascii char (29) = scancode = 0BAh shift state = Ctrl
ascii char (30) = scancode = 039h shift state = Alt
ascii char (31) = scancode = 036h shift state = Alt
ascii char (32) = scancode = 020h shift state = None
ascii char (33) = ! scancode = 0DFh shift state = None
ascii char (34) = " scancode = 033h shift state = None
ascii char (35) = # scancode = 033h shift state = None
ascii char (36) = $ scancode = 0BAh shift state = None
ascii char (37) = % scancode = 0C0h shift state = Shift
ascii char (38) = & scancode = 031h shift state = None
ascii char (39) = ' scancode = 034h shift state = None
ascii char (40) = ( scancode = 035h shift state = None
ascii char (41) = ) scancode = 0DBh shift state = None
ascii char (42) = * scancode = 0DCh shift state = None
ascii char (43) = + scancode = 0BBh shift state = Shift
ascii char (44) = , scancode = 0BCh shift state = None
ascii char (45) = - scancode = 036h shift state = None
ascii char (46) = . scancode = 0BEh shift state = Shift
ascii char (47) = / scancode = 0BFh shift state = Shift
ascii char (48) = 0 scancode = 030h shift state = Shift
ascii char (49) = 1 scancode = 031h shift state = Shift
ascii char (50) = 2 scancode = 032h shift state = Shift
ascii char (51) = 3 scancode = 033h shift state = Shift
ascii char (52) = 4 scancode = 034h shift state = Shift
ascii char (53) = 5 scancode = 035h shift state = Shift
ascii char (54) = 6 scancode = 036h shift state = Shift
ascii char (55) = 7 scancode = 037h shift state = Shift
ascii char (56) = 8 scancode = 038h shift state = Shift
ascii char (57) = 9 scancode = 039h shift state = Shift
ascii char (58) = : scancode = 0BFh shift state = None
ascii char (59) = ; scancode = 0BEh shift state = None
ascii char (60) = < scancode = 0E2h shift state = None
ascii char (61) = = scancode = 0BBh shift state = None
ascii char (62) = > scancode = 0E2h shift state = Shift
ascii char (63) = ? scancode = 0BCh shift state = Shift
ascii char (64) = @ scancode = 030h shift state = Shift
ascii char (65) = A scancode = 041h shift state = Shift
ascii char (66) = B scancode = 042h shift state = Shift
ascii char (67) = C scancode = 043h shift state = Shift
ascii char (68) = D scancode = 044h shift state = Shift
ascii char (69) = E scancode = 045h shift state = Shift
ascii char (70) = F scancode = 046h shift state = Shift
ascii char (71) = G scancode = 047h shift state = Shift
ascii char (72) = H scancode = 048h shift state = Shift
ascii char (73) = I scancode = 049h shift state = Shift
ascii char (74) = J scancode = 04Ah shift state = Shift
ascii char (75) = K scancode = 04Bh shift state = Shift
ascii char (76) = L scancode = 04Ch shift state = Shift
ascii char (77) = M scancode = 04Dh shift state = Shift
ascii char (78) = N scancode = 04Eh shift state = Shift
ascii char (79) = O scancode = 04Fh shift state = Shift
ascii char (80) = P scancode = 050h shift state = Shift
ascii char (81) = Q scancode = 051h shift state = Shift
ascii char (82) = R scancode = 052h shift state = Shift
ascii char (83) = S scancode = 053h shift state = Shift
ascii char (84) = T scancode = 054h shift state = Shift
ascii char (85) = U scancode = 055h shift state = Shift
ascii char (86) = V scancode = 056h shift state = Shift
ascii char (87) = W scancode = 057h shift state = Shift
ascii char (88) = X scancode = 058h shift state = Shift
ascii char (89) = Y scancode = 059h shift state = Shift
ascii char (90) = Z scancode = 05Ah shift state = Shift
ascii char (91) = [ scancode = 035h shift state = Shift
ascii char (92) = \ scancode = 038h shift state = Shift
ascii char (93) = ] scancode = 0DBh shift state = Shift
ascii char (94) = ^ scancode = 0DDh shift state = None
ascii char (95) = _ scancode = 038h shift state = None
ascii char (96) = ` scancode = 037h shift state = None
ascii char (97) = a scancode = 041h shift state = None
ascii char (98) = b scancode = 042h shift state = None
ascii char (99) = c scancode = 043h shift state = None
ascii char (100) = d scancode = 044h shift state = None
ascii char (101) = e scancode = 045h shift state = None
ascii char (102) = f scancode = 046h shift state = None
ascii char (103) = g scancode = 047h shift state = None
ascii char (104) = h scancode = 048h shift state = None
ascii char (105) = i scancode = 049h shift state = None
ascii char (106) = j scancode = 04Ah shift state = None
ascii char (107) = k scancode = 04Bh shift state = None
ascii char (108) = l scancode = 04Ch shift state = None
ascii char (109) = m scancode = 04Dh shift state = None
ascii char (110) = n scancode = 04Eh shift state = None
ascii char (111) = o scancode = 04Fh shift state = None
ascii char (112) = p scancode = 050h shift state = None
ascii char (113) = q scancode = 051h shift state = None
ascii char (114) = r scancode = 052h shift state = None
ascii char (115) = s scancode = 053h shift state = None
ascii char (116) = t scancode = 054h shift state = None
ascii char (117) = u scancode = 055h shift state = None
ascii char (118) = v scancode = 056h shift state = None
ascii char (119) = w scancode = 057h shift state = None
ascii char (120) = x scancode = 058h shift state = None
ascii char (121) = y scancode = 059h shift state = None
ascii char (122) = z scancode = 05Ah shift state = None
ascii char (123) = { scancode = 034h shift state = None
ascii char (124) = | scancode = 036h shift state = None
ascii char (125) = } scancode = 0BBh shift state = None
ascii char (126) = ~ scancode = 032h shift state = None
ascii char (127) = scancode = 008h shift state = Ctrl
Portuguese Brazilian
Quote
ascii char (9) = TAB scancode = 009h shift state = None
ascii char (10) = LF scancode = 00Dh shift state = Ctrl
ascii char (11) = scancode = 04Bh shift state = Ctrl
ascii char (12) = scancode = 04Ch shift state = Ctrl
ascii char (13) = CR scancode = 00Dh shift state = None
ascii char (14) = scancode = 04Eh shift state = Ctrl
ascii char (15) = scancode = 04Fh shift state = Ctrl
ascii char (16) = scancode = 050h shift state = Ctrl
ascii char (17) = scancode = 051h shift state = Ctrl
ascii char (18) = scancode = 052h shift state = Ctrl
ascii char (19) = scancode = 053h shift state = Ctrl
ascii char (20) = scancode = 054h shift state = Ctrl
ascii char (21) = scancode = 055h shift state = Ctrl
ascii char (22) = scancode = 056h shift state = Ctrl
ascii char (23) = scancode = 057h shift state = Ctrl
ascii char (24) = scancode = 058h shift state = Ctrl
ascii char (25) = scancode = 059h shift state = Ctrl
ascii char (26) = scancode = 05Ah shift state = Ctrl
ascii char (27) = scancode = 01Bh shift state = None
ascii char (28) = scancode = 0DCh shift state = Ctrl
ascii char (29) = scancode = 0BAh shift state = Ctrl
ascii char (30) = scancode = 036h shift state = Alt
ascii char (31) = scancode = 0BDh shift state = Ctrl
ascii char (32) = scancode = 020h shift state = None
ascii char (33) = ! scancode = 031h shift state = Shift
ascii char (34) = " scancode = 0C0h shift state = Shift
ascii char (35) = # scancode = 033h shift state = Shift
ascii char (36) = $ scancode = 034h shift state = Shift
ascii char (37) = % scancode = 035h shift state = Shift
ascii char (38) = & scancode = 037h shift state = Shift
ascii char (39) = ' scancode = 0C0h shift state = None
ascii char (40) = ( scancode = 039h shift state = Shift
ascii char (41) = ) scancode = 030h shift state = Shift
ascii char (42) = * scancode = 038h shift state = Shift
ascii char (43) = + scancode = 0BBh shift state = Shift
ascii char (44) = , scancode = 0BCh shift state = None
ascii char (45) = - scancode = 0BDh shift state = None
ascii char (46) = . scancode = 0BEh shift state = None
ascii char (47) = / scancode = 051h shift state = None
ascii char (48) = 0 scancode = 030h shift state = None
ascii char (49) = 1 scancode = 031h shift state = None
ascii char (50) = 2 scancode = 032h shift state = None
ascii char (51) = 3 scancode = 033h shift state = None
ascii char (52) = 4 scancode = 034h shift state = None
ascii char (53) = 5 scancode = 035h shift state = None
ascii char (54) = 6 scancode = 036h shift state = None
ascii char (55) = 7 scancode = 037h shift state = None
ascii char (56) = 8 scancode = 038h shift state = None
ascii char (57) = 9 scancode = 039h shift state = None
ascii char (58) = : scancode = 0BFh shift state = Shift
ascii char (59) = ; scancode = 0BFh shift state = None
ascii char (60) = < scancode = 0BCh shift state = Shift
ascii char (61) = = scancode = 0BBh shift state = None
ascii char (62) = > scancode = 0BEh shift state = Shift
ascii char (63) = ? scancode = 057h shift state = Shift
ascii char (64) = @ scancode = 032h shift state = Shift
ascii char (65) = A scancode = 041h shift state = Shift
ascii char (66) = B scancode = 042h shift state = Shift
ascii char (67) = C scancode = 043h shift state = Shift
ascii char (68) = D scancode = 044h shift state = Shift
ascii char (69) = E scancode = 045h shift state = Shift
ascii char (70) = F scancode = 046h shift state = Shift
ascii char (71) = G scancode = 047h shift state = Shift
ascii char (72) = H scancode = 048h shift state = Shift
ascii char (73) = I scancode = 049h shift state = Shift
ascii char (74) = J scancode = 04Ah shift state = Shift
ascii char (75) = K scancode = 04Bh shift state = Shift
ascii char (76) = L scancode = 04Ch shift state = Shift
ascii char (77) = M scancode = 04Dh shift state = Shift
ascii char (78) = N scancode = 04Eh shift state = Shift
ascii char (79) = O scancode = 04Fh shift state = Shift
ascii char (80) = P scancode = 050h shift state = Shift
ascii char (81) = Q scancode = 051h shift state = Shift
ascii char (82) = R scancode = 052h shift state = Shift
ascii char (83) = S scancode = 053h shift state = Shift
ascii char (84) = T scancode = 054h shift state = Shift
ascii char (85) = U scancode = 055h shift state = Shift
ascii char (86) = V scancode = 056h shift state = Shift
ascii char (87) = W scancode = 057h shift state = Shift
ascii char (88) = X scancode = 058h shift state = Shift
ascii char (89) = Y scancode = 059h shift state = Shift
ascii char (90) = Z scancode = 05Ah shift state = Shift
ascii char (91) = [ scancode = 0DDh shift state = None
ascii char (92) = \ scancode = 0E2h shift state = None
ascii char (93) = ] scancode = 0DCh shift state = None
ascii char (94) = ^ scancode = 0DEh shift state = Shift
ascii char (95) = _ scancode = 0BDh shift state = Shift
ascii char (96) = ` scancode = 0DBh shift state = Shift
ascii char (97) = a scancode = 041h shift state = None
ascii char (98) = b scancode = 042h shift state = None
ascii char (99) = c scancode = 043h shift state = None
ascii char (100) = d scancode = 044h shift state = None
ascii char (101) = e scancode = 045h shift state = None
ascii char (102) = f scancode = 046h shift state = None
ascii char (103) = g scancode = 047h shift state = None
ascii char (104) = h scancode = 048h shift state = None
ascii char (105) = i scancode = 049h shift state = None
ascii char (106) = j scancode = 04Ah shift state = None
ascii char (107) = k scancode = 04Bh shift state = None
ascii char (108) = l scancode = 04Ch shift state = None
ascii char (109) = m scancode = 04Dh shift state = None
ascii char (110) = n scancode = 04Eh shift state = None
ascii char (111) = o scancode = 04Fh shift state = None
ascii char (112) = p scancode = 050h shift state = None
ascii char (113) = q scancode = 051h shift state = None
ascii char (114) = r scancode = 052h shift state = None
ascii char (115) = s scancode = 053h shift state = None
ascii char (116) = t scancode = 054h shift state = None
ascii char (117) = u scancode = 055h shift state = None
ascii char (118) = v scancode = 056h shift state = None
ascii char (119) = w scancode = 057h shift state = None
ascii char (120) = x scancode = 058h shift state = None
ascii char (121) = y scancode = 059h shift state = None
ascii char (122) = z scancode = 05Ah shift state = None
ascii char (123) = { scancode = 0DDh shift state = Shift
ascii char (124) = | scancode = 0E2h shift state = Shift
ascii char (125) = } scancode = 0DCh shift state = Shift
ascii char (126) = ~ scancode = 0DEh shift state = None
ascii char (127) = scancode = 008h shift state = Ctrl
Here are my results (Win XP, sp3)
ascii char (9) = TAB scancode = 009h shift state = None
ascii char (10) = LF scancode = 00Dh shift state = Ctrl
ascii char (11) = scancode = 04Bh shift state = Ctrl
ascii char (12) = scancode = 04Ch shift state = Ctrl
ascii char (13) = CR scancode = 00Dh shift state = None
ascii char (14) = scancode = 04Eh shift state = Ctrl
ascii char (15) = scancode = 04Fh shift state = Ctrl
ascii char (16) = scancode = 050h shift state = Ctrl
ascii char (17) = scancode = 051h shift state = Ctrl
ascii char (18) = scancode = 052h shift state = Ctrl
ascii char (19) = scancode = 053h shift state = Ctrl
ascii char (20) = scancode = 054h shift state = Ctrl
ascii char (21) = scancode = 055h shift state = Ctrl
ascii char (22) = scancode = 056h shift state = Ctrl
ascii char (23) = scancode = 057h shift state = Ctrl
ascii char (24) = scancode = 058h shift state = Ctrl
ascii char (25) = scancode = 059h shift state = Ctrl
ascii char (26) = scancode = 05Ah shift state = Ctrl
ascii char (27) = scancode = 01Bh shift state = None
ascii char (28) = scancode = 05Ch shift state = Ctrl
ascii char (29) = scancode = 05Dh shift state = Ctrl
ascii char (30) = scancode = 036h shift state = Alt
ascii char (31) = scancode = 0BDh shift state = Ctrl
ascii char (32) = scancode = 020h shift state = None
ascii char (33) = ! scancode = 031h shift state = Shift
ascii char (34) = " scancode = 032h shift state = Shift
ascii char (35) = # scancode = 033h shift state = Shift
ascii char (36) = $ scancode = 034h shift state = Shift
ascii char (37) = % scancode = 035h shift state = Shift
ascii char (38) = & scancode = 036h shift state = Shift
ascii char (39) = ' scancode = 0DBh shift state = None
ascii char (40) = ( scancode = 038h shift state = Shift
ascii char (41) = ) scancode = 039h shift state = Shift
ascii char (42) = * scancode = 0BBh shift state = Shift
ascii char (43) = + scancode = 0BBh shift state = None
ascii char (44) = , scancode = 0BCh shift state = None
ascii char (45) = - scancode = 0BDh shift state = None
ascii char (46) = . scancode = 0BEh shift state = None
ascii char (47) = / scancode = 037h shift state = Shift
ascii char (48) = 0 scancode = 030h shift state = None
ascii char (49) = 1 scancode = 031h shift state = None
ascii char (50) = 2 scancode = 032h shift state = None
ascii char (51) = 3 scancode = 033h shift state = None
ascii char (52) = 4 scancode = 034h shift state = None
ascii char (53) = 5 scancode = 035h shift state = None
ascii char (54) = 6 scancode = 036h shift state = None
ascii char (55) = 7 scancode = 037h shift state = None
ascii char (56) = 8 scancode = 038h shift state = None
ascii char (57) = 9 scancode = 039h shift state = None
ascii char (58) = : scancode = 0BEh shift state = Shift
ascii char (59) = ; scancode = 0BCh shift state = Shift
ascii char (60) = < scancode = 0E2h shift state = None
ascii char (61) = = scancode = 030h shift state = Shift
ascii char (62) = > scancode = 0E2h shift state = Shift
ascii char (63) = ? scancode = 0DBh shift state = Shift
ascii char (64) = @ scancode = 032h shift state = Shift
ascii char (65) = A scancode = 041h shift state = Shift
ascii char (66) = B scancode = 042h shift state = Shift
ascii char (67) = C scancode = 043h shift state = Shift
ascii char (68) = D scancode = 044h shift state = Shift
ascii char (69) = E scancode = 045h shift state = Shift
ascii char (70) = F scancode = 046h shift state = Shift
ascii char (71) = G scancode = 047h shift state = Shift
ascii char (72) = H scancode = 048h shift state = Shift
ascii char (73) = I scancode = 049h shift state = Shift
ascii char (74) = J scancode = 04Ah shift state = Shift
ascii char (75) = K scancode = 04Bh shift state = Shift
ascii char (76) = L scancode = 04Ch shift state = Shift
ascii char (77) = M scancode = 04Dh shift state = Shift
ascii char (78) = N scancode = 04Eh shift state = Shift
ascii char (79) = O scancode = 04Fh shift state = Shift
ascii char (80) = P scancode = 050h shift state = Shift
ascii char (81) = Q scancode = 051h shift state = Shift
ascii char (82) = R scancode = 052h shift state = Shift
ascii char (83) = S scancode = 053h shift state = Shift
ascii char (84) = T scancode = 054h shift state = Shift
ascii char (85) = U scancode = 055h shift state = Shift
ascii char (86) = V scancode = 056h shift state = Shift
ascii char (87) = W scancode = 057h shift state = Shift
ascii char (88) = X scancode = 058h shift state = Shift
ascii char (89) = Y scancode = 059h shift state = Shift
ascii char (90) = Z scancode = 05Ah shift state = Shift
ascii char (91) = [ scancode = 038h shift state = Shift
ascii char (92) = \ scancode = 0DCh shift state = None
ascii char (93) = ] scancode = 039h shift state = None
ascii char (94) = ^ scancode = 0BFh shift state = Shift
ascii char (95) = _ scancode = 0BDh shift state = Shift
ascii char (96) = ` scancode = 0BAh shift state = Shift
ascii char (97) = a scancode = 041h shift state = None
ascii char (98) = b scancode = 042h shift state = None
ascii char (99) = c scancode = 043h shift state = None
ascii char (100) = d scancode = 044h shift state = None
ascii char (101) = e scancode = 045h shift state = None
ascii char (102) = f scancode = 046h shift state = None
ascii char (103) = g scancode = 047h shift state = None
ascii char (104) = h scancode = 048h shift state = None
ascii char (105) = i scancode = 049h shift state = None
ascii char (106) = j scancode = 04Ah shift state = None
ascii char (107) = k scancode = 04Bh shift state = None
ascii char (108) = l scancode = 04Ch shift state = None
ascii char (109) = m scancode = 04Dh shift state = None
ascii char (110) = n scancode = 04Eh shift state = None
ascii char (111) = o scancode = 04Fh shift state = None
ascii char (112) = p scancode = 050h shift state = None
ascii char (113) = q scancode = 051h shift state = None
ascii char (114) = r scancode = 052h shift state = None
ascii char (115) = s scancode = 053h shift state = None
ascii char (116) = t scancode = 054h shift state = None
ascii char (117) = u scancode = 055h shift state = None
ascii char (118) = v scancode = 056h shift state = None
ascii char (119) = w scancode = 057h shift state = None
ascii char (120) = x scancode = 058h shift state = None
ascii char (121) = y scancode = 059h shift state = None
ascii char (122) = z scancode = 05Ah shift state = None
ascii char (123) = { scancode = 037h shift state = None
ascii char (124) = | scancode = 0DCh shift state = Shift
ascii char (125) = } scancode = 030h shift state = Shift
ascii char (126) = ~ scancode = 0BFh shift state = None
ascii char (127) = scancode = 008h shift state = Ctrl
Dutch version windows 8.1 64bit
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. Alle rechten voorbehouden.
ascii char (9) = TAB scancode = 009h shift state = None
ascii char (10) = LF scancode = 00Dh shift state = Ctrl
ascii char (11) = ♂ scancode = 04Bh shift state = Ctrl
ascii char (12) = ♀ scancode = 04Ch shift state = Ctrl
ascii char (13) = CR scancode = 00Dh shift state = None
ascii char (14) = ♫ scancode = 04Eh shift state = Ctrl
ascii char (15) = ☼ scancode = 04Fh shift state = Ctrl
ascii char (16) = ► scancode = 050h shift state = Ctrl
ascii char (17) = ◄ scancode = 051h shift state = Ctrl
ascii char (18) = ↕ scancode = 052h shift state = Ctrl
ascii char (19) = ‼ scancode = 053h shift state = Ctrl
ascii char (20) = ¶ scancode = 054h shift state = Ctrl
ascii char (21) = § scancode = 055h shift state = Ctrl
ascii char (22) = ▬ scancode = 056h shift state = Ctrl
ascii char (23) = ↨ scancode = 057h shift state = Ctrl
ascii char (24) = ↑ scancode = 058h shift state = Ctrl
ascii char (25) = ↓ scancode = 059h shift state = Ctrl
ascii char (26) = → scancode = 05Ah shift state = Ctrl
ascii char (27) = ← scancode = 01Bh shift state = None
ascii char (28) = ∟ scancode = 0DCh shift state = Ctrl
ascii char (29) = ↔ scancode = 0DDh shift state = Ctrl
ascii char (30) = ▲ scancode = 036h shift state = Alt
ascii char (31) = ▼ scancode = 0BDh shift state = Alt
ascii char (32) = scancode = 020h shift state = None
ascii char (33) = ! scancode = 031h shift state = Shift
ascii char (34) = " scancode = 0DEh shift state = Shift
ascii char (35) = # scancode = 033h shift state = Shift
ascii char (36) = $ scancode = 034h shift state = Shift
ascii char (37) = % scancode = 035h shift state = Shift
ascii char (38) = & scancode = 037h shift state = Shift
ascii char (39) = ' scancode = 0DEh shift state = None
ascii char (40) = ( scancode = 039h shift state = Shift
ascii char (41) = ) scancode = 030h shift state = Shift
ascii char (42) = * scancode = 038h shift state = Shift
ascii char (43) = + scancode = 0BBh shift state = Shift
ascii char (44) = , scancode = 0BCh shift state = None
ascii char (45) = - scancode = 0BDh shift state = None
ascii char (46) = . scancode = 0BEh shift state = None
ascii char (47) = / scancode = 0BFh shift state = None
ascii char (48) = 0 scancode = 030h shift state = None
ascii char (49) = 1 scancode = 031h shift state = None
ascii char (50) = 2 scancode = 032h shift state = None
ascii char (51) = 3 scancode = 033h shift state = None
ascii char (52) = 4 scancode = 034h shift state = None
ascii char (53) = 5 scancode = 035h shift state = None
ascii char (54) = 6 scancode = 036h shift state = None
ascii char (55) = 7 scancode = 037h shift state = None
ascii char (56) = 8 scancode = 038h shift state = None
ascii char (57) = 9 scancode = 039h shift state = None
ascii char (58) = : scancode = 0BAh shift state = Shift
ascii char (59) = ; scancode = 0BAh shift state = None
ascii char (60) = < scancode = 0BCh shift state = Shift
ascii char (61) = = scancode = 0BBh shift state = None
ascii char (62) = > scancode = 0BEh shift state = Shift
ascii char (63) = ? scancode = 0BFh shift state = Shift
ascii char (64) = @ scancode = 032h shift state = Shift
ascii char (65) = A scancode = 041h shift state = Shift
ascii char (66) = B scancode = 042h shift state = Shift
ascii char (67) = C scancode = 043h shift state = Shift
ascii char (68) = D scancode = 044h shift state = Shift
ascii char (69) = E scancode = 045h shift state = Shift
ascii char (70) = F scancode = 046h shift state = Shift
ascii char (71) = G scancode = 047h shift state = Shift
ascii char (72) = H scancode = 048h shift state = Shift
ascii char (73) = I scancode = 049h shift state = Shift
ascii char (74) = J scancode = 04Ah shift state = Shift
ascii char (75) = K scancode = 04Bh shift state = Shift
ascii char (76) = L scancode = 04Ch shift state = Shift
ascii char (77) = M scancode = 04Dh shift state = Shift
ascii char (78) = N scancode = 04Eh shift state = Shift
ascii char (79) = O scancode = 04Fh shift state = Shift
ascii char (80) = P scancode = 050h shift state = Shift
ascii char (81) = Q scancode = 051h shift state = Shift
ascii char (82) = R scancode = 052h shift state = Shift
ascii char (83) = S scancode = 053h shift state = Shift
ascii char (84) = T scancode = 054h shift state = Shift
ascii char (85) = U scancode = 055h shift state = Shift
ascii char (86) = V scancode = 056h shift state = Shift
ascii char (87) = W scancode = 057h shift state = Shift
ascii char (88) = X scancode = 058h shift state = Shift
ascii char (89) = Y scancode = 059h shift state = Shift
ascii char (90) = Z scancode = 05Ah shift state = Shift
ascii char (91) = [ scancode = 0DBh shift state = None
ascii char (92) = \ scancode = 0DCh shift state = None
ascii char (93) = ] scancode = 0DDh shift state = None
ascii char (94) = ^ scancode = 036h shift state = Shift
ascii char (95) = _ scancode = 0BDh shift state = Shift
ascii char (96) = ` scancode = 0C0h shift state = None
ascii char (97) = a scancode = 041h shift state = None
ascii char (98) = b scancode = 042h shift state = None
ascii char (99) = c scancode = 043h shift state = None
ascii char (100) = d scancode = 044h shift state = None
ascii char (101) = e scancode = 045h shift state = None
ascii char (102) = f scancode = 046h shift state = None
ascii char (103) = g scancode = 047h shift state = None
ascii char (104) = h scancode = 048h shift state = None
ascii char (105) = i scancode = 049h shift state = None
ascii char (106) = j scancode = 04Ah shift state = None
ascii char (107) = k scancode = 04Bh shift state = None
ascii char (108) = l scancode = 04Ch shift state = None
ascii char (109) = m scancode = 04Dh shift state = None
ascii char (110) = n scancode = 04Eh shift state = None
ascii char (111) = o scancode = 04Fh shift state = None
ascii char (112) = p scancode = 050h shift state = None
ascii char (113) = q scancode = 051h shift state = None
ascii char (114) = r scancode = 052h shift state = None
ascii char (115) = s scancode = 053h shift state = None
ascii char (116) = t scancode = 054h shift state = None
ascii char (117) = u scancode = 055h shift state = None
ascii char (118) = v scancode = 056h shift state = None
ascii char (119) = w scancode = 057h shift state = None
ascii char (120) = x scancode = 058h shift state = None
ascii char (121) = y scancode = 059h shift state = None
ascii char (122) = z scancode = 05Ah shift state = None
ascii char (123) = { scancode = 0DBh shift state = Shift
ascii char (124) = | scancode = 0DCh shift state = Shift
ascii char (125) = } scancode = 0DDh shift state = Shift
ascii char (126) = ~ scancode = 0C0h shift state = Shift
ascii char (127) = ⌂ scancode = 008h shift state = Ctrl
Hi Hutch,
Here are my results (Windows 7 32-bit American English):
ascii char (9) = TAB scancode = 009h shift state = None
ascii char (10) = LF scancode = 00Dh shift state = Ctrl
ascii char (11) = ? scancode = 04Bh shift state = Ctrl
ascii char (12) = ? scancode = 04Ch shift state = Ctrl
ascii char (13) = CR scancode = 00Dh shift state = None
ascii char (14) = ? scancode = 04Eh shift state = Ctrl
ascii char (15) = ¤ scancode = 04Fh shift state = Ctrl
ascii char (16) = ? scancode = 050h shift state = Ctrl
ascii char (17) = ? scancode = 051h shift state = Ctrl
ascii char (18) = ? scancode = 052h shift state = Ctrl
ascii char (19) = ? scancode = 053h shift state = Ctrl
ascii char (20) = ¶ scancode = 054h shift state = Ctrl
ascii char (21) = § scancode = 055h shift state = Ctrl
ascii char (22) = ? scancode = 056h shift state = Ctrl
ascii char (23) = ? scancode = 057h shift state = Ctrl
ascii char (24) = ? scancode = 058h shift state = Ctrl
ascii char (25) = ? scancode = 059h shift state = Ctrl
ascii char (26) = ? scancode = 05Ah shift state = Ctrl
ascii char (27) = ? scancode = 01Bh shift state = None
ascii char (28) = ? scancode = 0E2h shift state = Ctrl
ascii char (29) = ? scancode = 0BBh shift state = Ctrl
ascii char (30) = ? scancode = 036h shift state = Alt
ascii char (31) = ? scancode = 05Fh shift state = Ctrl
ascii char (32) = scancode = 020h shift state = None
ascii char (33) = ! scancode = 031h shift state = Shift
ascii char (34) = " scancode = 032h shift state = Shift
ascii char (35) = # scancode = 033h shift state = Shift
ascii char (36) = $ scancode = 034h shift state = Shift
ascii char (37) = % scancode = 035h shift state = Shift
ascii char (38) = & scancode = 036h shift state = Shift
ascii char (39) = ' scancode = 0DBh shift state = None
ascii char (40) = ( scancode = 038h shift state = Shift
ascii char (41) = ) scancode = 039h shift state = Shift
ascii char (42) = * scancode = 0BBh shift state = Shift
ascii char (43) = + scancode = 0BBh shift state = None
ascii char (44) = , scancode = 0BCh shift state = None
ascii char (45) = - scancode = 0BDh shift state = None
ascii char (46) = . scancode = 0BEh shift state = None
ascii char (47) = / scancode = 037h shift state = Shift
ascii char (48) = 0 scancode = 030h shift state = None
ascii char (49) = 1 scancode = 031h shift state = None
ascii char (50) = 2 scancode = 032h shift state = None
ascii char (51) = 3 scancode = 033h shift state = None
ascii char (52) = 4 scancode = 034h shift state = None
ascii char (53) = 5 scancode = 035h shift state = None
ascii char (54) = 6 scancode = 036h shift state = None
ascii char (55) = 7 scancode = 037h shift state = None
ascii char (56) = 8 scancode = 038h shift state = None
ascii char (57) = 9 scancode = 039h shift state = None
ascii char (58) = : scancode = 0BEh shift state = Shift
ascii char (59) = ; scancode = 0BCh shift state = Shift
ascii char (60) = < scancode = 0E2h shift state = None
ascii char (61) = = scancode = 030h shift state = Shift
ascii char (62) = > scancode = 0E2h shift state = Shift
ascii char (63) = ? scancode = 0DBh shift state = Shift
ascii char (64) = @ scancode = 032h shift state = Shift
ascii char (65) = A scancode = 041h shift state = Shift
ascii char (66) = B scancode = 042h shift state = Shift
ascii char (67) = C scancode = 043h shift state = Shift
ascii char (68) = D scancode = 044h shift state = Shift
ascii char (69) = E scancode = 045h shift state = Shift
ascii char (70) = F scancode = 046h shift state = Shift
ascii char (71) = G scancode = 047h shift state = Shift
ascii char (72) = H scancode = 048h shift state = Shift
ascii char (73) = I scancode = 049h shift state = Shift
ascii char (74) = J scancode = 04Ah shift state = Shift
ascii char (75) = K scancode = 04Bh shift state = Shift
ascii char (76) = L scancode = 04Ch shift state = Shift
ascii char (77) = M scancode = 04Dh shift state = Shift
ascii char (78) = N scancode = 04Eh shift state = Shift
ascii char (79) = O scancode = 04Fh shift state = Shift
ascii char (80) = P scancode = 050h shift state = Shift
ascii char (81) = Q scancode = 051h shift state = Shift
ascii char (82) = R scancode = 052h shift state = Shift
ascii char (83) = S scancode = 053h shift state = Shift
ascii char (84) = T scancode = 054h shift state = Shift
ascii char (85) = U scancode = 055h shift state = Shift
ascii char (86) = V scancode = 056h shift state = Shift
ascii char (87) = W scancode = 057h shift state = Shift
ascii char (88) = X scancode = 058h shift state = Shift
ascii char (89) = Y scancode = 059h shift state = Shift
ascii char (90) = Z scancode = 05Ah shift state = Shift
ascii char (91) = [ scancode = 0BAh shift state = Shift
ascii char (92) = \ scancode = 0DCh shift state = Shift
ascii char (93) = ] scancode = 0BBh shift state = Shift
ascii char (94) = ^ scancode = 0BAh shift state = Shift
ascii char (95) = _ scancode = 0BDh shift state = Shift
ascii char (96) = ` scancode = 0BAh shift state = None
ascii char (97) = a scancode = 041h shift state = None
ascii char (98) = b scancode = 042h shift state = None
ascii char (99) = c scancode = 043h shift state = None
ascii char (100) = d scancode = 044h shift state = None
ascii char (101) = e scancode = 045h shift state = None
ascii char (102) = f scancode = 046h shift state = None
ascii char (103) = g scancode = 047h shift state = None
ascii char (104) = h scancode = 048h shift state = None
ascii char (105) = i scancode = 049h shift state = None
ascii char (106) = j scancode = 04Ah shift state = None
ascii char (107) = k scancode = 04Bh shift state = None
ascii char (108) = l scancode = 04Ch shift state = None
ascii char (109) = m scancode = 04Dh shift state = None
ascii char (110) = n scancode = 04Eh shift state = None
ascii char (111) = o scancode = 04Fh shift state = None
ascii char (112) = p scancode = 050h shift state = None
ascii char (113) = q scancode = 051h shift state = None
ascii char (114) = r scancode = 052h shift state = None
ascii char (115) = s scancode = 053h shift state = None
ascii char (116) = t scancode = 054h shift state = None
ascii char (117) = u scancode = 055h shift state = None
ascii char (118) = v scancode = 056h shift state = None
ascii char (119) = w scancode = 057h shift state = None
ascii char (120) = x scancode = 058h shift state = None
ascii char (121) = y scancode = 059h shift state = None
ascii char (122) = z scancode = 05Ah shift state = None
ascii char (123) = { scancode = 0DEh shift state = None
ascii char (124) = | scancode = 031h shift state = None
ascii char (125) = } scancode = 0BFh shift state = None
ascii char (126) = ~ scancode = 034h shift state = None
ascii char (127) = ¦ scancode = 008h shift state = Ctrl
Regards,
Ramon
Thanks everyone for posting the results, it has been very useful in designing what I think is a safe "sendstring" procedure using VkKeyScan() which I understand references a table in the OS of the running machine and converts the character to a working scan code. I have been using the old API "keybd_event" which as usual is under documented but I have found enough data and fed it through enough test pieces and it seems to be something like reliable if you pad it with enough time delays so that the keyboard buffer does not get left behind. I will have a working example done shortly which I will post.
Hi Steve
Under documented ? Maybe it can help you check here t have some documentation of it for you improve your app if you wish.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms646304%28v=vs.85%29.aspx
http://www.codeproject.com/Articles/7305/Keyboard-Events-Simulation-using-keybd-event-funct
http://eric.aling.tripod.com/PB/tips/pbtip36.htm
http://www.dreamincode.net/forums/topic/60431-keybd-event%3B/
This is the test piece for the algo "sendstring" and it appears to be working correctly. It uses the API "VkKeyScan()" which maps the current computer's characters to virtual keys and I am hoping that it does the same in a consistent manner across different language versions and keyboards. The example starts Notepad then sends 4 lines of text to it. It should look like this and go into Notepad at about fast teletype speed. I found that it requires time delays as a keyboard is slow and you can outrun it if you send a character too fast to it.
Cannon to right of them,
Cannon to left of them,
Cannon in front of them
Volley'd and thunder'd;
Works fine on WinXP SP3 Italian :t
It appears to works fine on my Windows7-64 SP1 system.
Works fine on my WinXP, SP3:
Cannon to right of them,
Cannon to left of them,
Cannon in front of them
Volley'd and thunder'd;
Works rock solid under Windows 7-64.
Gunther
It works fine on Windows XP 32-bit, Windows 7 32/64-bit and Windows 8 64-bit.
Ramon
Works fine, dutch version of windows 8.1 64bit
xp sp3 french OK
Working perfectly on WinXP SP3a Portuguese (Brazil) and English
Hi,
Opens Notebook and types the text with Windows 2000,
Windows 98, and Windows 8.1.
Regards,
Steve N.