News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

Need a favour, please test this utility and post results.

Started by hutch--, September 01, 2014, 01:40:27 AM

Previous topic - Next topic

hutch--

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

nidud

deleted


Gunther

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
You have to know the facts before you can distort them.

GoneFishing

WinXP:
Output is exactly the same as in your attachment .

jj2007



MichaelW

Here is a direct link to the document:

http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/scancode.doc
Well Microsoft, here's another nice mess you've gotten us into.

TouEnMasm

#8
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

Fa is a musical note to play with CL

guga

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
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com

RuiLoureiro

#10
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

Siekmanski

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
Creative coders use backward thinking techniques as a strategy.

rsala

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
EC coder

hutch--

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.

guga

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/
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com