Everything you've heard so far (on-list anyway) is correct. Here are the
tools I use; they seem to work pretty well. Each is simply a command file
in PUB.SYS, available to anybody. FKEYSAVE works great for those Reflection
(or any terminal actually) users who have pre-set keys:
USER DEFINED COMMAND FILE: FKEYSAVE.PUB.SYS
PARM FILE='MYFKEYS'
comment saves fkey settings to (TEMP) key-loading command file !FILE
SETVAR ESC CHR(27)
COMMENT eseqs:j=keyshow,H=home,d=blockxfer,&jB=enable,k=nokeyshow,A=cursorup
echo !'ESC'&w13F
ECHO !'ESC'j!'ESC'H
SET ECHO=OFF
ECHO COMMENT this file created via FKEYSAVE > !FILE
SETVAR FKEY 1
WHILE FKEY <= 8
INPUT FKEY_!FKEY;PROMPT='!"ESC"d'
ECHO ECHO ![FKEY_!FKEY]!'ESC'A >> !FILE
SETVAR FKEY FKEY+1
ENDWHILE
ECHO !'ESC'k
ECHO ECHO !'ESC'&jB!'ESC'A >> !FILE
ECHO !'ESC'&w12F
SET ECHO=ON
...which saves fkey values to (default) MYFKEYS. Handy when your apps
change the keys, you can now do something like...
USER DEFINED COMMAND FILE: MYAPPLIC.PUB.MYACCT
FKEYSAVE
RUN MYAPP
MYFKEYS
ie save current settings, run you app, restore settings.
For specific fkey loading, you need two things: the fkey definition
sequences, and and "Activate the keys" sequence. Ours...
USER DEFINED COMMAND FILE: SETKEY.PUB.SYS
PARM KEY="?" ATTR="?" LABEL="?" TEXT="?"
IF NOT (NUMERIC("!KEY") AND "!KEY">="1" AND "!KEY" <= "8") THEN
ECHO 1st parm is functionKEY; must be numeric in the range 1..8.
IF "!KEY" <> "?" THEN
RETURN
ENDIF
ENDIF
IF NOT (NUMERIC("!ATTR") AND "!ATTR" >= "0" AND "!ATTR" <= "3") THEN
ECHO 2nd parm is ATTRibute; must be one of...
ECHO 0 - 'normal' == function is displayed and transmitted.
ECHO 1 - 'local' == text is displayed but not transmitted.
ECHO 2 - 'transmit' == displayed, transmitted, with a C/R.
ECHO 3 - 'command' == invokes a Reflection command.
IF "!ATTR" <> "?" THEN
RETURN
ENDIF
ENDIF
SETVAR SK_LBLLEN LEN("!LABEL")
SETVAR SK_TXTLEN LEN("!TEXT")
CALC CHR(27) + "&f!'ATTR'a!'KEY'k" &
+ "!'SK_LBLLEN'd!'SK_TXTLEN'L" &
+ "!'LABEL'!'TEXT'" &
+ CHR(27) + "A"
...which loads any fkey, but then you have to activate 'em. ours is done
with a UDC, but a command file is better imho.
:help enableuserkeys
USER DEFINED COMMAND:
ENABLEUSERKEYS
CALC CHR(27) + "&jB"
And here are some examples of using this stuff; admittedly some are pretty
dopey, but they'll give you the idea.
:help menukeys
USER DEFINED COMMAND FILE: MENUKEYS.PUB.SYS
COMMENT this is MENUKEYS.PUB.SYS
SETKEY 1 2 "MPE XL keys" "MPEXLKEYS"
SETKEY 2 2 "DEFAULT keys" "NORMKEYS"
SETKEY 3 2 "LOGON keys" "LOGKEYS"
SETKEY 4 2 "QUAD keys" "QUADKEYS"
SETKEY 5 2 "MPEX keys" "MPEXKEYS"
SETKEY 6 2 "SHOWJOB keys" "SHOWKEYS"
SETKEY 7 2 "OPERATORSYS" "HELLO !HPJOBNAME,OPERATOR.SYS"
SETKEY 8 2 "BYE " "BYE"
ENABLEUSERKEYS
%:help mpexlkeys
USER DEFINED COMMAND:
MPEXLKEYS
SETKEY 1 2 "DISCFREEB option" "DISCFREE B"
SETKEY 2 2 "SHOWJOB @J" "SHOWJOB JOB=@J"
SETKEY 3 2 "LISTSPF" "LISTSPF"
SETKEY 4 2 "LISTSPF detail" "LISTSPF ;DETAIL"
SETKEY 5 2 "LISTSPF@" "LISTSPF @"
SETKEY 6 2 "LISTSPF@detail" "LISTSPF @;DETAIL"
SETKEY 7 2 "OPERATORSYS " "hello !HPJOBNAME,operator.sys"
SETKEY 8 2 " 'Menu' keys" "MENUKEYS"
ENABLEUSERKEYS
%:help normkeys
USER DEFINED COMMAND FILE: NORMKEYS.PUB.SYS
COMMENT this is NORMKEYS.PUB.SYS, which puts DEFAULT values in fkeys.
SETKEY 1 2 " f1" ""
SETKEY 2 2 " f2" ""
SETKEY 3 2 " f3" ""
SETKEY 4 2 " f4" ""
SETKEY 5 2 " f5" ""
SETKEY 6 2 " f6" ""
SETKEY 7 2 " f7" ""
SETKEY 8 2 " f8" ""
ENABLEUSERKEYS
%Help logkeys
Not found in MPEX help, using MPE HELP...
USER DEFINED COMMAND FILE: LOGKEYS.PUB.SYS
PARM KEYSET=1 USER="!HPJOBNAME"
comment this is LOGKEYS.PUB.SYS
IF !KEYSET=1
SETKEY 1 2 "MGR. AP " "HELLO !USER,MGR.AP"
SETKEY 2 2 "MGR. ARMS " "HELLO !USER,MGR.ARMS"
SETKEY 3 2 "MGR. MCBA " "HELLO !USER,MGR.MCBA"
SETKEY 4 2 "MGR. PAYROLL " "HELLO !USER,MGR.PAYROLL"
SETKEY 6 2 "'MENU' KEYS " "MENUKEYS"
SETKEY 7 2 "logonkeyset 2 " "LOGKEYS 2"
SETKEY 8 2 " BYE " "BYE"
ELSE
SETKEY 1 2 "MGR. PLANNING" "HELLO !USER,MGR.PLANNING"
SETKEY 2 2 "OPERATOR .SYS " "HELLO !USER,OPERATOR.SYS"
SETKEY 3 2 "MGR. TBCS " "HELLO !USER,MGR.TBCS"
SETKEY 4 2 "OP. VMS " "HELLO !USER,OP.VMS"
SETKEY 6 2 "'MENU' KEYS " "MENUKEYS"
SETKEY 7 2 "logonkeyset 1 " "LOGKEYS 1"
SETKEY 8 2 " BYE " "BYE"
ENDIF
ENABLEUSERKEYS
> -----Original Message-----
> From: Mike Woosnam [mailto:[log in to unmask]]
> Sent: Wednesday, April 30, 2003 9:47 AM
> To: [log in to unmask]
> Subject: Setting Up Function Keys on Login
>
>
> Well, Hi to all, I'm pretty new to this group, seems to have
> helped me
> a lot so far, but here's one I can't find any info on yet.
>
> The guy who had my job before me had setup his own account on one of
> our HP's, if it is relative at all, the system is a 969. I've only
> recently found this account, and when I login to this account, it
> changes the Function keys to preset values.
>
> To summarise, this is kinda cool! Can anyone advise on how this is
> done?
> I've searched through the files in the account to see if it is
> controlled through any login file, but I can't see anything obvious.
> Again, if it is relative, we're using Reflections software to connect.
>
> Thanks.
>
> Mike
>
> * To join/leave the list, search archives, change list settings, *
> * etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
>
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
|