Submission for AMUS.LOG "Tidbits" Column from Joe Buller (415) 283-4498 "MORE FUNKEY STUFF" I just KNEW it could be done, but hadn't had or taken the time to find out HOW until Mike Foley's Tidbit appeared in the February '86 AMUS.LOG. I have a number of applications where I use AlphaVue-style control character sequences (e.g. ^B to insert a line, ^F to insert a character, et al) and have wanted to use the labeled editting keys on an AM6x terminal rather than having to initially train novice users on the use of control key combinations. I created the following FUNKEY.BAS program which in turn creates a FUNction KEY definition file which does the actual key translation as indicated by the comments on each source line: ! ! QWKIE PROGRAM TO CREATE FUNKEY.PFK ! TRANSLATES AM62x EDIT KEYS TO CONTROL CHARACTERS ! JHB 2/17/86 ! OPEN #1,"FUNKEY.PFK",OUTPUT PRINT #1,CHR(138);CHR(162); PRINT #1,CHR(206);CHR(6);CHR(0); ! INSERT CHARACTER = ^F PRINT #1,CHR(207);CHR(4);CHR(0); ! DELETE CHARACTER = ^D PRINT #1,CHR(177); FOR X = 1 TO 8 PRINT #1,CHR(6); ! INSERT WORD = EIGHT ^Fs NEXT X PRINT #1,CHR(0); PRINT #1,CHR(178);CHR(22);CHR(0); ! DELETE WORD = ^V PRINT #1,CHR(232);CHR(2);CHR(0); ! INSERT LINE = ^B PRINT #1,CHR(313);CHR(26);CHR(0); ! DELETE LINE = ^Z ! NOTE: MUST DISABLE CHR(313) TRANSLATION IN AM62A.M68/TDV PRINT #1,CHR(247);CHR(23);CHR(0); ! NEXT WORD = ^W PRINT #1,CHR(231);CHR(23);CHR(0); ! Shift NEXT WORD = ^W PRINT #1,CHR(209);CHR(1);CHR(0); ! PREVIOUS WORD = ^A PRINT #1,CHR(215);CHR(1);CHR(0); ! Shift PREVIOUS WORD = ^A PRINT #1,CHR(246);CHR(20);CHR(0); ! NEXT SCREEN = ^T PRINT #1,CHR(214);CHR(5);CHR(0); ! Shift NEXT SCREEN = ^E PRINT #1,CHR(242);CHR(18);CHR(0); ! PREVIOUS SCREEN = ^R PRINT #1,CHR(241);CHR(30);CHR(0); ! Shift PREVIOUS SCREEN = ^^ PRINT #1,CHR(184);"?";CHR(13);CHR(0); ! HELP = ?^M PRINT #1,CHR(185);"?";CHR(13);CHR(0); ! Shift HELP = ?^M PRINT #1,CHR(222);CHR(11);CHR(0); ! Shift UP ARROW = ^K PRINT #1,CHR(223);CHR(10);CHR(0); ! Shift DOWN ARROW = ^J PRINT #1,CHR(219);CHR(21);CHR(0); ! Shift LEFT ARROW = ^U PRINT #1,CHR(220);CHR(14);CHR(0); ! Shift RIGHT ARROW = ^N PRINT #1,CHR(251);CHR(30);CHR(0); ! Shift HOME = ^^ PRINT #1,CHR(161);CHR(13);CHR(0); ! NEW LINE = ^M PRINT #1,CHR(162);CHR(25);CHR(0); ! Shift NEW LINE = ^Y PRINT #1,CHR(235);"PRINT";CHR(13);CHR(0); ! Shift PRINT = PRINT^M PRINT #1,CHR(236);"PRINT";CHR(13);CHR(0); ! PRINT = PRINT^M PRINT #1,CHR(179);CHR(19);CHR(0); ! Shift NO SCROLL = ^S PRINT #1,CHR(234);CHR(1);CHR(0); ! BACK TAB = ^A PRINT #1,CHR(233);CHR(21);CHR(0); ! Shift BACK TAB = ^U PRINT #1,CHR(201);CHR(9);CHR(0); ! Shift TAB = ^I CLOSE #1 PRINT PRINT "FUNKEY.PFK file is now available" END After compiling and running the program, I now load the resultant output file into user memory of each job via a 'LOAD DSKx:FUNKEY.PFK[p,pn]' statement in a START.CMD procedure. (I found that loading this file into SYSTEM memory during bootup, unfortunately, would NOT work as desired.) The net result of all this is that the terminal's editting keys now produce the same results in or out of Vue. Note that if you want to be able to translate the DELETE-LINE key into something other than a ^U then: the AM6x.M68[10,2] file will need to be editted and the "BYTE 313,'U-100" statement commented out; the file M68'd; and the new AM6x.TDV copied over to [1,6]. To determine the character code returned from any of the special keys on the keyboard, I compiled and ran the following FUNTST.BAS program: ! ! QWKIE TEST FOR CREATING FUNCTION KEY .PFK FILE. jhb 2/17/86 ! OPEN #1,"FUNTST.PFK",OUTPUT PRINT #1;CHR(138);CHR(162); FOR X = 128 TO 255 PRINT #1;CHR(X);X USING "#ZZ" PRINT #1;CHR(0); NEXT X CLOSE #1 After loading the FUNTST.PFK file into user memory, depress any combination of special keycaps, with/without SHIFT and/or FUNCTion key use, and the resultant code will be echoed by AMOS as misunderstood commands (e.g. the HELP key returns ?185?, and SHIFT-HELP returns ?184?). For non-AM6x terminals, this program may be helpful in determining whether or not your terminal driver supports the .PFK conventions. Files named FUNKEY.BAS, FUNKEY.HLP and FUNTST.BAS are available on the AMUS network. Joe Buller *Applied Micronetics, Inc. Lafayette, CA .