Author Topic: Need a favour, please test this utility and post results.  (Read 8415 times)

hutch--

  • Administrator
  • Member
  • ******
  • Posts: 9223
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
Need a favour, please test this utility and post results.
« 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
hutch at movsd dot com
http://www.masm32.com    :biggrin:  :skrewy:

nidud

  • Member
  • *****
  • Posts: 2390
    • https://github.com/nidud/asmc
Re: Need a favour, please test this utility and post results.
« Reply #1 on: September 01, 2014, 03:58:06 AM »
deleted
« Last Edit: February 25, 2022, 08:40:37 AM by nidud »

TWell

  • Member
  • ****
  • Posts: 743
Re: Need a favour, please test this utility and post results.
« Reply #2 on: September 01, 2014, 04:00:07 AM »
From my WinXP:

Gunther

  • Member
  • *****
  • Posts: 4017
  • Forgive your enemies, but never forget their names
Re: Need a favour, please test this utility and post results.
« Reply #3 on: September 01, 2014, 04:36:37 AM »
German version from Windows 7-64:
Code: [Select]
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
Get your facts first, and then you can distort them.

GoneFishing

  • Member
  • *****
  • Posts: 1071
  • Gone fishing
Re: Need a favour, please test this utility and post results.
« Reply #4 on: September 01, 2014, 04:42:54 AM »
WinXP:
Output is exactly the same as in your attachment .

jj2007

  • Member
  • *****
  • Posts: 12307
  • Assembler is fun ;-)
    • MasmBasic
Spaghetti & cappuccino
« Reply #5 on: September 01, 2014, 06:10:32 AM »
One more :biggrin:

adeyblue

  • Member
  • **
  • Posts: 89
    • Airesoft
Re: Need a favour, please test this utility and post results.
« Reply #6 on: September 01, 2014, 06:15:59 AM »
Microsoft have a scancode specification document, might be useful.

MichaelW

  • Global Moderator
  • Member
  • *****
  • Posts: 1200
Well Microsoft, here’s another nice mess you’ve gotten us into.

TouEnMasm

  • Member
  • *****
  • Posts: 1804
    • EditMasm
Re: Need a favour, please test this utility and post results.
« Reply #8 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

« Last Edit: September 01, 2014, 10:09:23 PM by ToutEnMasm »
Fa is a musical note to play with CL

guga

  • Member
  • *****
  • Posts: 1449
  • Assembly is a state of art.
    • RosAsm
Re: Need a favour, please test this utility and post results.
« Reply #9 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
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

  • Member
  • ****
  • Posts: 819
Re: Need a favour, please test this utility and post results.
« Reply #10 on: September 01, 2014, 09:26:57 PM »
Here are my results (Win XP, sp3)
Code: [Select]

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
« Last Edit: September 02, 2014, 01:25:54 AM by RuiLoureiro »

Siekmanski

  • Member
  • *****
  • Posts: 2506
Re: Need a favour, please test this utility and post results.
« Reply #11 on: September 01, 2014, 09:52:23 PM »
Dutch version windows 8.1 64bit

Code: [Select]
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

  • Member
  • ***
  • Posts: 349
    • Easy Code
Re: Need a favour, please test this utility and post results.
« Reply #12 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
EC coder

hutch--

  • Administrator
  • Member
  • ******
  • Posts: 9223
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
Re: Need a favour, please test this utility and post results.
« Reply #13 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.
hutch at movsd dot com
http://www.masm32.com    :biggrin:  :skrewy:

guga

  • Member
  • *****
  • Posts: 1449
  • Assembly is a state of art.
    • RosAsm
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