The MASM Forum

General => The Laboratory => Topic started by: hutch-- on September 01, 2014, 01:40:27 AM

Title: Need a favour, please test this utility and post results.
Post by: hutch-- on September 01, 2014, 01:40:27 AM
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
Title: Re: Need a favour, please test this utility and post results.
Post by: nidud on September 01, 2014, 03:58:06 AM
deleted
Title: Re: Need a favour, please test this utility and post results.
Post by: TWell on September 01, 2014, 04:00:07 AM
From my WinXP:
Title: Re: Need a favour, please test this utility and post results.
Post by: Gunther on September 01, 2014, 04:36:37 AM
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
Title: Re: Need a favour, please test this utility and post results.
Post by: GoneFishing on September 01, 2014, 04:42:54 AM
WinXP:
Output is exactly the same as in your attachment .
Title: Spaghetti & cappuccino
Post by: jj2007 on September 01, 2014, 06:10:32 AM
One more :biggrin:
Title: Re: Need a favour, please test this utility and post results.
Post by: adeyblue on September 01, 2014, 06:15:59 AM
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.
Title: Re: Need a favour, please test this utility and post results.
Post by: MichaelW on September 01, 2014, 06:44:05 AM
Here is a direct link to the document:

http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/scancode.doc
Title: Re: Need a favour, please test this utility and post results.
Post by: TouEnMasm on September 01, 2014, 02:31:51 PM
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

Title: Re: Need a favour, please test this utility and post results.
Post by: guga on September 01, 2014, 03:32:26 PM
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
Title: Re: Need a favour, please test this utility and post results.
Post by: RuiLoureiro on September 01, 2014, 09:26:57 PM
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
Title: Re: Need a favour, please test this utility and post results.
Post by: Siekmanski on September 01, 2014, 09:52:23 PM
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
Title: Re: Need a favour, please test this utility and post results.
Post by: rsala on September 02, 2014, 05:05:58 AM
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
Title: Re: Need a favour, please test this utility and post results.
Post by: hutch-- on September 02, 2014, 05:22:16 AM
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.
Title: Re: Need a favour, please test this utility and post results.
Post by: guga on September 02, 2014, 06:19:13 AM
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/
Title: Re: Need a favour, please test this utility and post results.
Post by: hutch-- on September 02, 2014, 07:05:39 AM
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;
Title: Re: Need a favour, please test this utility and post results.
Post by: jj2007 on September 02, 2014, 07:16:03 AM
Works fine on WinXP SP3 Italian :t
Title: Re: Need a favour, please test this utility and post results.
Post by: MichaelW on September 02, 2014, 09:41:33 AM
It appears to works fine on my Windows7-64 SP1 system.
Title: Re: Need a favour, please test this utility and post results.
Post by: RuiLoureiro on September 03, 2014, 02:05:04 AM
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;
Title: Re: Need a favour, please test this utility and post results.
Post by: Gunther on September 03, 2014, 02:18:18 AM
Works rock solid under Windows 7-64.

Gunther
Title: Re: Need a favour, please test this utility and post results.
Post by: rsala on September 03, 2014, 05:24:55 AM
It works fine on Windows XP 32-bit, Windows 7 32/64-bit and Windows  8 64-bit.

Ramon
Title: Re: Need a favour, please test this utility and post results.
Post by: Siekmanski on September 03, 2014, 07:42:02 AM
Works fine, dutch version of  windows 8.1 64bit
Title: Re: Need a favour, please test this utility and post results.
Post by: TouEnMasm on September 08, 2014, 06:00:27 AM
xp sp3 french OK
Title: Re: Need a favour, please test this utility and post results.
Post by: guga on September 08, 2014, 08:07:53 PM
Working perfectly on WinXP SP3a Portuguese (Brazil) and English
Title: Re: Need a favour, please test this utility and post results.
Post by: FORTRANS on September 08, 2014, 11:06:16 PM
Hi,

   Opens Notebook and types the text with Windows 2000,
Windows 98, and Windows 8.1.

Regards,

Steve N.