Hi, It seems that there have been a rash of key-press questions popping up again (must be the weather:) so I've prepared the following for those of you who are still struggling with it. The 2 charts below display all the CHR$() values for the related key-presses. If the key you need to use as 2 values ( eg: 0,059 ) then you will need to represent it as CHR$(0,59) or CHR$(0)+CHR$(59) depending on the version of BASIC you are using. I strongly recommend you have a look at the message fGetKey% and integrate that sytem of passing key-strokes into your code as it is much more efficient. At the bottom of the file are 3 versions of the fGetKey$ function; one for PB3.2, one for FirstBASIC and one for the Q*BASICs. Ú KEY ÂÄÄÄÄÄÄÄ SHIFT ÂÄ CTRL ÂÄ ALT Ä¿ÚÄ KEY ÄÂÄÄÄÄÄÄÄÂÄ CTRL ÂÄ ALT Ä¿ ³ F1 ³ 0,059 ³ 0,084 ³ 0,094 ³ 0,104 ³³ HOME ³ 0,071 ³ 0,119 ³ ----- ³ ³ F2 ³ 0,060 ³ 0,085 ³ 0,095 ³ 0,105 ³³ UP ³ 0,072 ³ 0,141 ³ ----- ³ ³ F3 ³ 0,061 ³ 0,086 ³ 0,096 ³ 0,106 ³³ PgUp ³ 0,073 ³ 0,132 ³ ----- ³ ³ F4 ³ 0,062 ³ 0,087 ³ 0,097 ³ 0,107 ³³ LEFT ³ 0,075 ³ 0,115 ³ ----- ³ ³ F5 ³ 0,063 ³ 0,088 ³ 0,098 ³ 0,108 ³³ 5 ³ 0,076 ³ 0,143 ³ ----- ³ ³ F6 ³ 0,064 ³ 0,089 ³ 0,099 ³ 0,109 ³³ RIGHT ³ 0,077 ³ 0,116 ³ ----- ³ ³ F7 ³ 0,065 ³ 0,090 ³ 0,100 ³ 0,110 ³³ END ³ 0,079 ³ 0,117 ³ ----- ³ ³ F8 ³ 0,066 ³ 0,091 ³ 0,101 ³ 0,111 ³³ DOWN ³ 0,080 ³ 0,145 ³ ----- ³ ³ F9 ³ 0,067 ³ 0,092 ³ 0,102 ³ 0,112 ³³ PgDn ³ 0,081 ³ 0,118 ³ ----- ³ ³ F10 ³ 0,068 ³ 0,093 ³ 0,103 ³ 0,113 ³³ INS ³ 0,082 ³ 0,146 ³ ----- ³ ³ F11 ³ 0,133 ³ 0,135 ³ 0,137 ³ 0,139 ³³ DEL ³ 0,083 ³ 0,147 ³ ----- ³ ³ F12 ³ 0,134 ³ 0,136 ³ 0,138 ³ 0,140 ³³PrtScrn³ ----- ³ 0,114 ³ ----- ³ ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄ´³GREY / ³ 047 ³ 0,149 ³ 0,164 ³ ³ TAB ³ 009 ³ 0,015 ³ 0,148 ³ 0,165 ³³GREY * ³ 042 ³ 0,150 ³ 0,055 ³ ³BkSpc³ 008 ³ 008 ³ 127 ³ 0,014 ³³GREY - ³ 045 ³ 0,142 ³ 0,074 ³ ³ ESC ³ 027 ³ 027 ³ 027 ³ 0,001 ³³GREY + ³ 043 ³ 0,144 ³ 0,078 ³ ³ENTER³ 013 ³ 013 ³ 010 ³ 0,028 ³³GREY <Ù³ 013 ³ 010 ³ 0,166 ³ ÀÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÙÀÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÙ ÚKEYÂÄ CTRL ÂÄ ALT Ä¿ ÚKEY CTRLÂÄ ALT Ä¿ ÚKEYÂÄCTRLÂÄÄALTÄÄ¿ ³ 1 ³ ----- ³ 0,120 ³ ³ ` ³ --- ³ 0,041 ³ ³ L ³ 012 ³ 0,038 ³ ³ 2 ³ 0,003 ³ 0,121 ³ ³ \ ³ 028 ³ 0,043 ³ ³ M ³ 013 ³ 0,050 ³ ³ 3 ³ ----- ³ 0,122 ³ ³ , ³ --- ³ 0,051 ³ ³ N ³ 014 ³ 0,049 ³ ³ 4 ³ ----- ³ 0,123 ³ ³ . ³ --- ³ 0,052 ³ ³ O ³ 015 ³ 0,024 ³ ³ 5 ³ ----- ³ 0,124 ³ ³ / ³ --- ³ 0,053 ³ ³ P ³ 016 ³ 0,025 ³ ³ 6 ³ 030 ³ 0,125 ³ ³ A ³ 001 ³ 0,030 ³ ³ Q ³ 017 ³ 0,016 ³ ³ 7 ³ ----- ³ 0,126 ³ ³ B ³ 002 ³ 0,048 ³ ³ R ³ 018 ³ 0,019 ³ ³ 8 ³ ----- ³ 0,127 ³ ³ C ³ 003 ³ 0,046 ³ ³ S ³ 019 ³ 0,031 ³ ³ 9 ³ ----- ³ 0,128 ³ ³ D ³ 004 ³ 0,032 ³ ³ T ³ 020 ³ 0,020 ³ ³ 0 ³ ----- ³ 0,129 ³ ³ E ³ 005 ³ 0,018 ³ ³ U ³ 021 ³ 0,022 ³ ³ - ³ 031 ³ 0,130 ³ ³ F ³ 006 ³ 0,033 ³ ³ V ³ 022 ³ 0,047 ³ ³ = ³ ----- ³ 0,131 ³ ³ G ³ 007 ³ 0,034 ³ ³ W ³ 023 ³ 0,017 ³ ³ [ ³ 027 ³ 0,026 ³ ³ H ³ 008 ³ 0,035 ³ ³ X ³ 024 ³ 0,045 ³ ³ ] ³ 029 ³ 0,027 ³ ³ I ³ 009 ³ 0,023 ³ ³ Y ³ 025 ³ 0,021 ³ ³ ; ³ ----- ³ 0,039 ³ ³ J ³ 010 ³ 0,036 ³ ³ Z ³ 026 ³ 0,044 ³ ³ ' ³ ----- ³ 0,040 ³ ³ K ³ 011 ³ 0,037 ³ ÀÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÙ ÀÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÙ ÀÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÙ ' PowerBASIC v3.0+ FUNCTION fGetKey$() LOCAL PUBLIC WHILE NOT INSTAT : WEND FUNCTION = INKEY$ END FUNCTION ' FirstBASIC and Older versions of PowerBASIC FUNCTION fGetKey$() LOCAL PUBLIC LOCAL G$, L% DO G$ = INKEY$ LOOP UNTIL LEN(G$) > 0 fGetKey$ = G$ END FUNCTION 'Q*BASIC FUNCTION fGetKey$ DO G$ = INKEY$ LOOP UNTIL LEN(G$) > 0 fGetKey$ = G$ END FUNCTION