Path: utzoo!utgpu!water!watmath!clyde!att!pacbell!ames!pasteur!ucbvax!IUBACS.BITNET!FEASTER From: FEASTER@IUBACS.BITNET Newsgroups: comp.os.vms Subject: RE: TPU numeric keypad Message-ID: <8806231103.AA13955@ucbvax.Berkeley.EDU> Date: 16 Jun 88 18:07:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 96 Here's one way to allow numeric keypad in a TPU editing environment... ! NUMERIC.TPU ! ! TPU command file to toggle between function/numeric keypad by ! pressing control-k. ! To use: ! ! EDIT/TPU/COM=NUMERIC.TPU filename ! PROCEDURE dmf$keypad_toggle ! ! Toggle between numeric and function keypad ! IF dmf$numeric_keypad = 'on' THEN dmf$numeric_keypad := 'off'; define_key(dmf$prog_kp0,kp0,dmf$comm_kp0); define_key(dmf$prog_kp1,kp1,dmf$comm_kp1); define_key(dmf$prog_kp2,kp2,dmf$comm_kp2); define_key(dmf$prog_kp3,kp3,dmf$comm_kp3); define_key(dmf$prog_kp4,kp4,dmf$comm_kp4); define_key(dmf$prog_kp5,kp5,dmf$comm_kp5); define_key(dmf$prog_kp6,kp6,dmf$comm_kp6); define_key(dmf$prog_kp7,kp7,dmf$comm_kp7); define_key(dmf$prog_kp8,kp8,dmf$comm_kp8); define_key(dmf$prog_kp9,kp9,dmf$comm_kp9); define_key(dmf$prog_kpminus,minus,dmf$comm_kpminus); define_key(dmf$prog_kpcomma,comma,dmf$comm_kpcomma); define_key(dmf$prog_kpperiod,period,dmf$comm_kpperiod); define_key(dmf$prog_kpenter,enter,dmf$comm_kpenter); MESSAGE('Function keypad enabled.'); ELSE dmf$numeric_keypad := 'on'; define_key("COPY_TEXT('0')",kp0,"nkp0"); define_key("COPY_TEXT('1')",kp1,"nkp1"); define_key("COPY_TEXT('2')",kp2,"nkp2"); define_key("COPY_TEXT('3')",kp3,"nkp3"); define_key("COPY_TEXT('4')",kp4,"nkp4"); define_key("COPY_TEXT('5')",kp5,"nkp5"); define_key("COPY_TEXT('6')",kp6,"nkp6"); define_key("COPY_TEXT('7')",kp7,"nkp7"); define_key("COPY_TEXT('8')",kp8,"nkp8"); define_key("COPY_TEXT('9')",kp9,"nkp9"); define_key("COPY_TEXT('.')",period,"nkpperiod"); define_key("COPY_TEXT('-')",minus,"nkpminus"); define_key("COPY_TEXT(',')",comma,"nkpcomma"); define_key(LOOKUP_KEY(ret_key,PROGRAM),enter,"nkpenter"); MESSAGE('Numeric keypad is now enabled.'); ENDIF; ENDPROCEDURE; ! ! Numeric keypad will be disabled upon entry to editor ! dmf$numeric_keypad := 'off'; ! ! Pressing control-K will toggle between numeric and function keypad ! define_key("dmf$keypad_toggle",ctrl_k_key,"toggle_keypad"); ! ! Save all the original functions of the keypad keys ! dmf$prog_kp0 := LOOKUP_KEY(kp0,PROGRAM); dmf$prog_kp1 := LOOKUP_KEY(kp1,PROGRAM); dmf$prog_kp2 := LOOKUP_KEY(kp2,PROGRAM); dmf$prog_kp3 := LOOKUP_KEY(kp3,PROGRAM); dmf$prog_kp4 := LOOKUP_KEY(kp4,PROGRAM); dmf$prog_kp5 := LOOKUP_KEY(kp5,PROGRAM); dmf$prog_kp6 := LOOKUP_KEY(kp6,PROGRAM); dmf$prog_kp7 := LOOKUP_KEY(kp7,PROGRAM); dmf$prog_kp8 := LOOKUP_KEY(kp8,PROGRAM); dmf$prog_kp9 := LOOKUP_KEY(kp9,PROGRAM); dmf$prog_kpcomma := LOOKUP_KEY(comma,PROGRAM); dmf$prog_kpperiod := LOOKUP_KEY(period,PROGRAM); dmf$prog_kpenter := LOOKUP_KEY(enter,PROGRAM); ! ! Save all original key comments ! dmf$comm_kp0 := LOOKUP_KEY(kp0,COMMENT); dmf$comm_kp1 := LOOKUP_KEY(kp1,COMMENT); dmf$comm_kp2 := LOOKUP_KEY(kp2,COMMENT); dmf$comm_kp3 := LOOKUP_KEY(kp3,COMMENT); dmf$comm_kp4 := LOOKUP_KEY(kp4,COMMENT); dmf$comm_kp5 := LOOKUP_KEY(kp5,COMMENT); dmf$comm_kp6 := LOOKUP_KEY(kp6,COMMENT); dmf$comm_kp7 := LOOKUP_KEY(kp7,COMMENT); dmf$comm_kp8 := LOOKUP_KEY(kp8,COMMENT); dmf$comm_kp9 := LOOKUP_KEY(kp9,COMMENT); dmf$comm_kpcomma := LOOKUP_KEY(comma,COMMENT); dmf$comm_kpperiod := LOOKUP_KEY(period,COMMENT); dmf$comm_kpenter := LOOKUP_KEY(enter,COMMENT); ! ! End of tpu file ! ! Mickey Feaster ! Indiana University Speech Research Lab ! BITNET: FEASTER@IUBACS