This code takes a scancode and returns the letter/symbol it represents.
I know it seems just like the
inkey$() command but the bonus to my code is that you can return more then just one letter/symbol.
Here's the code:
function DB_Letters(num)
letter$=""
if keystate(42)=1 or keystate(54)=1
if num=41 then letter$="~"
if num=2 then letter$="!"
if num=3 then letter$="@"
if num=4 then letter$="#"
if num=5 then letter$="$"
if num=6 then letter$="%"
if num=7 then letter$="^"
if num=8 then letter$="&"
if num=9 then letter$="*"
if num=10 then letter$="("
if num=11 then letter$=")"
if num=12 then letter$="_"
if num=13 then letter$="+"
if num=43 then letter$="|"
if num=16 then letter$="Q"
if num=17 then letter$="W"
if num=18 then letter$="E"
if num=19 then letter$="R"
if num=20 then letter$="T"
if num=21 then letter$="Y"
if num=22 then letter$="U"
if num=23 then letter$="I"
if num=24 then letter$="O"
if num=25 then letter$="P"
if num=26 then letter$="{"
if num=27 then letter$="}"
if num=30 then letter$="A"
if num=31 then letter$="S"
if num=32 then letter$="D"
if num=33 then letter$="F"
if num=34 then letter$="G"
if num=35 then letter$="H"
if num=36 then letter$="J"
if num=37 then letter$="K"
if num=38 then letter$="L"
if num=39 then letter$=":"
if num=40 then letter$="""
if num=44 then letter$="Z"
if num=45 then letter$="X"
if num=46 then letter$="C"
if num=47 then letter$="V"
if num=48 then letter$="B"
if num=49 then letter$="N"
if num=50 then letter$="M"
if num=51 then letter$="<"
if num=52 then letter$=">"
if num=53 then letter$="?"
if num=181 then letter$="/"
if num=55 then letter$="*"
if num=74 then letter$="-"
if num=71 then letter$="7"
if num=72 then letter$="8"
if num=73 then letter$="9"
if num=78 then letter$="+"
if num=75 then letter$="4"
if num=76 then letter$="5"
if num=77 then letter$="6"
if num=79 then letter$="1"
if num=80 then letter$="2"
if num=81 then letter$="3"
if num=82 then letter$="0"
if num=83 then letter$="."
else
if num=41 then letter$="`"
if num=2 then letter$="1"
if num=3 then letter$="2"
if num=4 then letter$="3"
if num=5 then letter$="4"
if num=6 then letter$="5"
if num=7 then letter$="6"
if num=8 then letter$="7"
if num=9 then letter$="8"
if num=10 then letter$="9"
if num=11 then letter$="0"
if num=12 then letter$="-"
if num=13 then letter$="="
if num=43 then letter$=""
if num=16 then letter$="q"
if num=17 then letter$="w"
if num=18 then letter$="e"
if num=19 then letter$="r"
if num=20 then letter$="t"
if num=21 then letter$="y"
if num=22 then letter$="u"
if num=23 then letter$="i"
if num=24 then letter$="o"
if num=25 then letter$="p"
if num=26 then letter$="["
if num=27 then letter$="]"
if num=30 then letter$="a"
if num=31 then letter$="s"
if num=32 then letter$="d"
if num=33 then letter$="f"
if num=34 then letter$="g"
if num=35 then letter$="h"
if num=36 then letter$="j"
if num=37 then letter$="k"
if num=38 then letter$="l"
if num=39 then letter$=";"
if num=40 then letter$="'"
if num=44 then letter$="z"
if num=45 then letter$="x"
if num=46 then letter$="c"
if num=47 then letter$="v"
if num=48 then letter$="b"
if num=49 then letter$="n"
if num=50 then letter$="m"
if num=51 then letter$=","
if num=52 then letter$="."
if num=53 then letter$="/"
if num=181 then letter$="/"
if num=55 then letter$="*"
if num=74 then letter$="-"
if num=71 then letter$="7"
if num=72 then letter$="8"
if num=73 then letter$="9"
if num=78 then letter$="+"
if num=75 then letter$="4"
if num=76 then letter$="5"
if num=77 then letter$="6"
if num=79 then letter$="1"
if num=80 then letter$="2"
if num=81 then letter$="3"
if num=82 then letter$="0"
if num=83 then letter$="."
endif
endfunction letter$
Here's an example of how it works and how it can return more then one key pressed at once:
sync on
do
letters$=""
for count=0 to 211
if keystate(count)=1 then letters$=letters$+DB_Letters(count)
next count
print "Go ahead, press as many keys as you like."
print "Keys: ";letters$
sync
cls
loop
function DB_Letters(num)
letter$=""
if keystate(42)=1 or keystate(54)=1
if num=41 then letter$="~"
if num=2 then letter$="!"
if num=3 then letter$="@"
if num=4 then letter$="#"
if num=5 then letter$="$"
if num=6 then letter$="%"
if num=7 then letter$="^"
if num=8 then letter$="&"
if num=9 then letter$="*"
if num=10 then letter$="("
if num=11 then letter$=")"
if num=12 then letter$="_"
if num=13 then letter$="+"
if num=43 then letter$="|"
if num=16 then letter$="Q"
if num=17 then letter$="W"
if num=18 then letter$="E"
if num=19 then letter$="R"
if num=20 then letter$="T"
if num=21 then letter$="Y"
if num=22 then letter$="U"
if num=23 then letter$="I"
if num=24 then letter$="O"
if num=25 then letter$="P"
if num=26 then letter$="{"
if num=27 then letter$="}"
if num=30 then letter$="A"
if num=31 then letter$="S"
if num=32 then letter$="D"
if num=33 then letter$="F"
if num=34 then letter$="G"
if num=35 then letter$="H"
if num=36 then letter$="J"
if num=37 then letter$="K"
if num=38 then letter$="L"
if num=39 then letter$=":"
if num=40 then letter$="""
if num=44 then letter$="Z"
if num=45 then letter$="X"
if num=46 then letter$="C"
if num=47 then letter$="V"
if num=48 then letter$="B"
if num=49 then letter$="N"
if num=50 then letter$="M"
if num=51 then letter$="<"
if num=52 then letter$=">"
if num=53 then letter$="?"
if num=181 then letter$="/"
if num=55 then letter$="*"
if num=74 then letter$="-"
if num=71 then letter$="7"
if num=72 then letter$="8"
if num=73 then letter$="9"
if num=78 then letter$="+"
if num=75 then letter$="4"
if num=76 then letter$="5"
if num=77 then letter$="6"
if num=79 then letter$="1"
if num=80 then letter$="2"
if num=81 then letter$="3"
if num=82 then letter$="0"
if num=83 then letter$="."
else
if num=41 then letter$="`"
if num=2 then letter$="1"
if num=3 then letter$="2"
if num=4 then letter$="3"
if num=5 then letter$="4"
if num=6 then letter$="5"
if num=7 then letter$="6"
if num=8 then letter$="7"
if num=9 then letter$="8"
if num=10 then letter$="9"
if num=11 then letter$="0"
if num=12 then letter$="-"
if num=13 then letter$="="
if num=43 then letter$=""
if num=16 then letter$="q"
if num=17 then letter$="w"
if num=18 then letter$="e"
if num=19 then letter$="r"
if num=20 then letter$="t"
if num=21 then letter$="y"
if num=22 then letter$="u"
if num=23 then letter$="i"
if num=24 then letter$="o"
if num=25 then letter$="p"
if num=26 then letter$="["
if num=27 then letter$="]"
if num=30 then letter$="a"
if num=31 then letter$="s"
if num=32 then letter$="d"
if num=33 then letter$="f"
if num=34 then letter$="g"
if num=35 then letter$="h"
if num=36 then letter$="j"
if num=37 then letter$="k"
if num=38 then letter$="l"
if num=39 then letter$=";"
if num=40 then letter$="'"
if num=44 then letter$="z"
if num=45 then letter$="x"
if num=46 then letter$="c"
if num=47 then letter$="v"
if num=48 then letter$="b"
if num=49 then letter$="n"
if num=50 then letter$="m"
if num=51 then letter$=","
if num=52 then letter$="."
if num=53 then letter$="/"
if num=181 then letter$="/"
if num=55 then letter$="*"
if num=74 then letter$="-"
if num=71 then letter$="7"
if num=72 then letter$="8"
if num=73 then letter$="9"
if num=78 then letter$="+"
if num=75 then letter$="4"
if num=76 then letter$="5"
if num=77 then letter$="6"
if num=79 then letter$="1"
if num=80 then letter$="2"
if num=81 then letter$="3"
if num=82 then letter$="0"
if num=83 then letter$="."
endif
endfunction letter$