; Save this file as e.g.New 2216 2616 3110 3310 3820 Phones.was in your aspect folder 8th June 2009
; Compile the file is order to run the script, but read the details below.
; NOTE!
; This program will ONLY work with a Windows version of PROCOMM PLUS!.
; This Procomm Script file is for you to configure a new Nortel digital extension
; The " ; " denotes that the data on this program script is ignored when the
; file is run.
; The script will also record for you a LOG file such as "pw01.cap" etc.
; The program will use LD 11 for all the changes & LD 81 to print out the TN's.
; Follow the instructions by Ticking the box's on the screen & locating your source file.
; You might need to change the "Transmit Pacing" depending on the software version!
; A higher number is needed to slow the program down for the older processors.
; Make sure that you enter the file name & click on "ACCEPT" to run in your entries.
; Make sure that you enter the Login Name (or Account name for V04.5x onwards!)&
; the Password & click on the "ACCEPT" button to run in your speed call entries.
; If your system does not use any Login name, then just enter any name or c/r in the box.
; You don't need to be LOGGED into the Meridian, before you run the script!.
; The program will still run on older software versions that don't use Named Login. It's
; best if log in first before the program is started. Just enter any name as mentioned above
; & wait 30 seconds before it will commence the input procedure.
; The data that needs to be used should be entered via Microsofts Excel application, using the columns
; as shown in the example. Once you have entered in the required settings, REMOVE the header
; (1st line of data & save the SOURCE file which should be in a *.CSV Format!
; An example of the source file as viewed in text, is shown below.
; NOTE!. Please check your Excel file before you save it to a *.csv format. Then also check it using
; a program such as "Notepad" for spaces with the CLS such as CFXA ,!. Make sure it's changed to
; i.e. CFXA,. Also add in a space for blank keys.i.e. keys 9 to 15 on the smaller 3310 and 3110 phones etc
; This should be as follows. , , , etc. NOT ,,,.
; You can use the find & replace options to make mass changes!.
; Examples of the different phone types used on a Succession system Version 5.xx
; If your source file (example below) has lines of data of this length or more, then the script will FAIL with a
; message of Error 1: Value out of range
; Please reduce the data for that line. e.g. a line of data that is too long is..
;1140,066 0 00 25,1140,0,74210,1,6,1421,10,1111,FBA CRPA HFA CNIA DNDA PUA VOLA VOUA CFXA ICRA,2,7000,74210,74210,0,0,SCR 4213 0,SCN 4212 0,SCN 4216 0,SCN 4218 0,SCN 4219 0,SCN 4222,ADL 8 4230,ADL 8 4019,ADL 8 5302,SCN 4211 0,SCN 4791 0,ADL 8, ,CFW 6,RNP,SSU 10 (262 CHARACTERS!)
; Trim the data down to e.g.
;1140,066 0 00 25,1140,0,74210,1,6,1421,10,1111,FBA CRPA HFA CNIA DNDA PUA VOLA VOUA CFXA ICRA,2,7000,74210,74210,0,0,SCR 4213 0,SCN 4212 0,SCN 4216 0,SCN 4218 0,SCN 4219 0,SCN 4222,ADL 8 4230,ADL 8 4019,ADL 8 5302,SCN 4211,SCN 4791,ADL 8, ,CFW 6,RNP,SSU 10
; Please be aware that this script to provide new Aries 2216, 2616 and Orion 3110, 3310 and 3820 phones will NOT do any Add On Modules!
; Also it won't configure any Internet & Taurus phones!. This script won't configure the basic Aries 2006 and 2008 as they have different key layouts.
; To ensure smooth running of the script, make the TTY that you are using has "SCH" only!.
; This will prevent any system messages from appearing.
#include "vkeys.inc" ; You must have this file "vkeys.inc"
; located within the "Aspect" folder!
STRING F_Time
string s_opdata[32]
dialogbox 0 13 17 476 332 11 "Nortel Procomm script file to add new Aries 2216 or 2616 and Orion 3110, 3310 & 3820 phones in LD 11. 8th June 2009"
groupbox 1 10 7 130 40 ""
radiogroup 2 i_rg2_chc
radiobutton 3 19 16 42 11 "NEW"
; radiobutton 4 19 32 42 11 "CHG"
endgroup
groupbox 41 10 46 130 60 ""
text 43 14 54 120 11 "Script CLass of Service defaults used " center
text 44 14 64 120 11 "TLD LNA MWA DPUA GPUA" center
text 26 14 74 120 11 "FNA HTA SFA CFTA HBTA" center
text 45 14 84 120 11 "Key 15 will be spare for HFA!" center
text 11 14 94 120 11 "TTY you are using = SCH only!" center
radiogroup 5 i_rg5_chc
radiobutton 6 87 16 50 11 "Digital"
; radiobutton 7 87 36 42 11 "IDC"
endgroup
;combobox 10 102 67 32 252 DROPDOWNLIST s_list_customer s_customer_item
; text 16 16 69 86 11 "Customer No Use up to 87" left
; combobox 9 102 88 32 238 DROPDOWNLIST s_list_dcno s_dcno_item
; text 8 17 90 84 9 "DCNO No Use up to 88" left
dirlistbox 12 55 176 85 94 "*.csv" SINGLE s_fi_nm 21 SORT
editbox 23 386 37 73 11 s_userid 11
editbox 13 386 53 74 11 s_pwd 16 MASKED
editbox 37 417 106 38 11 s_date_start 8
editbox 38 417 147 38 11 s_time_start 8
combobox 24 423 168 30 170 DROPDOWNLIST s_tx_list s_tx_item
dirpath 21 9 164 134 11 s_dir
pushbutton 14 16 118 40 13 "Accept"
pushbutton 15 90 118 40 13 "Cancel"
text 29 169 124 294 11 "If you want the program to Time start, then enter the time in 24Hr format in the box below" center
text 47 217 55 166 11 "Switch Password is Case Sensitive for V4.5 onwards" left
text 25 175 170 246 11 "Select the systems Transmit Pacing. User a higher number on older software!." left
text 22 190 38 190 11 "Name or User ID. (No Name = any character key pressed!)" left
text 34 167 147 248 11 "Pressing the (Space Bar) = Auto Start, or enter the start Time = e.g. 16:20:00 " left
text 35 167 211 290 26 " Please remember to check your capture file settings under the following headings's (Options, Data Options, Setup Files, Capture File Options, Control Options) to UNCHECK the box marked (Query for file name when capture is started)!. " left
text 33 168 240 288 16 " Click (OK) & (OK) again before starting this script program. This will make the script capture the information if the delayed Date / Time start function is used!. " left
text 36 169 82 294 11 "If you want the program to Date start, then enter the Date as e.g. 23/12/05 in the box below" center
text 31 169 106 248 11 "Pressing the (Space Bar) = Auto Start, or enter the required Date for it to run" left
text 39 419 138 34 9 "Hr:Mn:Sc" center
text 40 418 96 34 9 "Dy/Mh/Yr" center
text 32 178 19 282 11 "Enter the systems Login Name and Password in the box's below to run the script file" center
groupbox 49 165 3 302 68 ""
groupbox 50 164 71 304 91 ""
groupbox 51 1 155 146 120 ""
groupbox 52 1 2 146 150 ""
text 53 6 220 36 11 "Source file" left
text 54 6 230 36 11 "location" center
text 42 6 240 36 11 "= *.csv" center
text 55 154 268 300 11 "Data that will need configuring! Make sure all all columns are filled in and top row removed!" center
text 64 14 278 444 11 "TYPE,TN,DES,CUST,FDN,TGAR,NCOS,RNPG,SSU,SCPW,CLS,RCO,EFD,HUNT,EHT,AST,IAPG,KEY 0,KEY 1," center
text 65 14 288 444 11 "KEY 2,KEY 3,KEY 4,KEY 5,KEY 6,KEY 7,KEY 8,KEY 9,KEY 10,KEY 11,KEY 12,KEY 13,KEY 14" center
text 66 2 298 470 11 "Example below = data used! Don't use Internet or Taurus phones and AOM modules etc. Also don't have ,, use , , check afterwards using notepad!" center
text 59 8 308 464 11 "2616,008 0 00 12,M3820,0,7000,0,4,120,10,1111,AHA USRA CNDA HFA USRA ARHA,2,7000,7000,7000,0,0,SCR 65060, ," center
text 48 14 318 444 11 "USR,MSB,ADL 16,ADL 16,SSU 10, ,ADL 4 7000,AO6,TRN,DSP,MWK 7000,CFW 4,RNP" center
groupbox 46 164 157 304 30 ""
text 56 168 193 290 16 " If you are planning to use the delayed start time / date function, then follow the instruction listed below " left
groupbox 57 164 183 304 78 ""
groupbox 63 10 107 128 34 ""
enddialog
case 13
strlen s_pwd i_tmp
if i_tmp < 4
usermsg "Password `"%s`"`n`nThis must be between 4-16 characters in length & it is case sEnsTivE on V04.50 onwards!" s_pwd
sendvkey MAKE_KV(KV_SHIFT,VK_TAB)
endif
endcase
case 14
exitwhile
endcase
case 15
exitwhile
endcase
case 23
strlen s_userid i_tmp
if i_tmp < 1
usermsg "Name or UserID `"%s`"`n`nName can be up to 11 Characters. Otherwise enter a dummy name or press the Space Bar to accept the entry" s_userid
sendvkey MAKE_KV(KV_SHIFT,VK_TAB)
endif
endcase
case 28
exitwhile
endcase
case 29
exitwhile
endcase
case 30
dlgupdate 0 24
endcase
case 37
strlen s_date_start i_tmp
if i_tmp < 1
usermsg "Start Date `"%s`"`n`nmust be 6 Numbers in length and with a (/) in between every 2 digits. or you can just press the Space Bar to leave the box blank to Auto Start the Listing program" s_date_start
sendvkey MAKE_KV(KV_SHIFT,VK_TAB)
endif
endcase
case 38
strlen s_time_start i_tmp
if i_tmp < 1
usermsg "Start Time `"%s`"`n`nmust be 6 Numbers in length and with a ) in between every 2 digits. or you can just press the Space Bar to leave the box blank to Auto Start the Listing program" s_time_start
sendvkey MAKE_KV(KV_SHIFT,VK_TAB)
endif
endcase
endswitch
endwhile
dlgdestroy 0 cancel
if i_evt != 14
exit
endif
if not fopen 0 s_fi_nm read
errormsg "Couldn't open file `"%s`"." s_fi_nm
else
cnt_no_fi_lines(i_ch,&l_tot_no_lin,&l_fi_sz0)
STATMSG "Waiting for the Digital set auto start date/time program to run. Make sure that auto capture is set correctly!"
STATMSG "The Digital set auto start date/time program has now started!"
ld_ovl_11(i_rg2_chc)
dialogbox 1 208 20 312 116 14 "New Aries 2216 or 2616 and Orion phones progress status bar"
text 1 10 8 200 11 s_progress left
editbox 2 10 20 190 11 s_prog_bar
text 3 10 38 300 18 s_fi_nm left
text 4 212 20 58 11 "Transmit Pace ==" left
text 6 10 60 300 34 s_sce_lin left
text 5 276 20 34 11 s_tx_item left
text 7 14 98 270 11 "Make sure that the TTY you are using to run this script file has USER = SCH only!" center
enddialog
l_prog_bar_op = l_fi_sz0/40
while not feof 0
fgetc 0 i_ch
if not feof 0
ftell 0 l_cur_fi_sz0
if l_cur_fi_sz0 % l_prog_bar_op == 0
strcat s_prog_bar "#"
dlgupdate 1 2
endif
if i_ch == '`r'
loopwhile
endif
if i_ch == '`n'
l_lin_cnt++
strputc s_sce_lin i_p 0
if not nullstr s_sce_lin
; In this area, enter in new prompts that have appeared when running this script using examples
; listed below. Different features & software versions will result in prompts that have not been
; spotted before.
WHEN TARGET 1 "OVL111 " CALL OVL111
WHEN TARGET 2 "OVL013 " CALL OVL013
WHEN TARGET 3 "CTYP " CALL CARR_RETURN
WHEN TARGET 4 "KEM " CALL CARR_RETURN
WHEN TARGET 5 "NUID " CALL CARR_RETURN
WHEN TARGET 6 "KBA " CALL CARR_RETURN
WHEN TARGET 7 "NHTN " CALL CARR_RETURN
WHEN TARGET 8 "DBA " CALL CARR_RETURN
WHEN TARGET 9 "ERL " CALL CARR_RETURN
WHEN TARGET 10 "ECL " CALL CARR_RETURN
WHEN TARGET 11 "AOM " CALL CARR_RETURN
WHEN TARGET 12 "LDN " CALL CARR_RETURN
WHEN TARGET 13 "SGRP " CALL CARR_RETURN
WHEN TARGET 14 "SFLT " CALL CARR_RETURN
WHEN TARGET 15 "CAC_MFC " CALL CARR_RETURN
WHEN TARGET 20 "LNRS " CALL CARR_RETURN
WHEN TARGET 21 "LHK " CALL CARR_RETURN
WHEN TARGET 22 "SCI " CALL CARR_RETURN
WHEN TARGET 23 "PLEV " CALL PLEV_0
WHEN TARGET 24 "DANI " CALL CARR_RETURN
WHEN TARGET 25 "ITNA " CALL CARR_RETURN
WHEN TARGET 26 "PRI " CALL CARR_RETURN
WHEN TARGET 27 "MLWU_LANG " CALL CARR_RETURN
WHEN TARGET 28 "MLNG " CALL CARR_RETURN
WHEN TARGET 29 "DNDR " CALL CARR_RETURN
WHEN TARGET 30 " MARP ON" CALL MARP_NO
WHEN TARGET 31 " CPND " CALL CARR_RETURN
WHEN TARGET 32 " VMB " CALL CARR_RETURN
WHEN TARGET 40 "TEN " CALL CARR_RETURN
WHEN TARGET 41 "ECHG " CALL EASY_CHANGE
WHEN TARGET 42 "DATE " CALL CARR_RETURN
WHEN TARGET 43 "PAGE " CALL CARR_RETURN
WHEN TARGET 44 "NACT " CALL CARR_RETURN
WHEN TARGET 45 "ZONE " CALL ZONE_1
WHEN TARGET 46 "SCH0127 " CALL SCH0127
WHEN TARGET 47 "SCH0255 " CALL SCH0255
WHEN TARGET 48 "SCH0341 " CALL SCH0341
WHEN TARGET 49 "SCH0361 " CALL SCH0361
WHEN TARGET 50 "SCH0717 " CALL SCH0717
WHEN TARGET 51 "SCH0733 " CALL SCH0733
WHEN TARGET 55 "SCH1447 " CALL SCH1447
WHEN TARGET 56 "SCH1510 " CALL SCH1510
WHEN TARGET 57 "SCH1893 " CALL SCH1893
WHEN TARGET 58 "SCH3127 " CALL SCH3127
WHEN TARGET 59 "SCH3129 " CALL SCH3129
WHEN TARGET 60 "SCH3682 " CALL SCH3682
WHEN TARGET 61 "KEY 15 SCH3683 " CALL SCH3683
WHEN TARGET 62 "SCH3902 " CALL SCH3902
WHEN TARGET 63 "SCH5814 " CALL SCH5814
WHEN TARGET 64 "SCH6711 " CALL SCH6711
; WHEN TARGET 65 "SCH3127 " CALL SCH3127
; WHEN TARGET 66 "SCH6711 " CALL SCH6711
WHEN TARGET 81 "SCH8888 " CALL SCH8888
WHEN TARGET 82 "SCH8889 " CALL SCH8889
txdc ("****")
waitfor ">"
txdc ("LD 11") ; Start of access into LD 11
waitfor "REQ"
if i_rg2_chc == 3
txdc ("NEW")
else
txdc ("CHG")
endif
waitfor "TYPE"
STATMSG " Start of Progress status bar and new extensions to be provided in LD 11"
proc logo ;#####
txdc ("LOGO") ; Add on this line ";" to allow the program to remain logged in!.
F_Time=$TIME
statmsg "LD 11 New Digital Set script file has now been Completed`n`n at %s" F_TIME
usermsg "LD 11 New Digital Set script file is now Complete`n`n at %s" F_TIME
endproc
PROC PLEV_0
txdc ("0")
ENDPROC
PROC ZONE_1 ; ############# Change to Zone required! ############
txdc ("1")
ENDPROC
PROC CARR_RETURN
txdc ("")
ENDPROC
PROC EASY_CHANGE
pause 1
txdc ("NO")
ENDPROC
Proc OVL013
txdc ("****")
ENDPROC
PROC SCH0127
txdc ("****")
waitfor ">"
USERMSG "SCH0127. Script failed, due to the TN already exists on the system!"
exit
ENDPROC
PROC SCH0253
STATMSG "SCH0253. Digit display Class of Service. is required for CLS CDCA and / or the CSD = key.=20 NDD is mutually exclusive.!"
txdc ("TLD FNA HTA SFA CFTA HBTA LNA MWA DPUA GPUA")
ENDPROC
PROC SCH0341
txdc ("TLD FNA HTA SFA CFTA HBTA LNA CNDA MWA DPUA GPUA CFHA USRA")
pause 1
txdc ("0")
STATMSG "SCH0341. Unable to match input field with stored mnemonics.! attempting to use typical CLS values!"
ENDPROC
PROC SCH0361
STATMSG "SCH0361. Key number is not valid on this set type.!"
ENDPROC
PROC SCH0717
txdc ("****")
waitfor ">"
USERMSG "SCH0717. Script failed, due to a missing ACD DN in LD 23!"
exit
ENDPROC
PROC SCH0733
STATMSG "SCH0733. Unable to match input field with stored mnemonics.!"
ENDPROC
PROC SCH1447
STATMSG "SCH1447. Key 6 should be set as NUL on this 3905 Set. Redefining this key overrides the user's access to Directory.!"
ENDPROC
PROC SCH1510
txdc ("TLD FNA HTA SFA CFTA HBTA LNA MWA DPUA GPUA CFHA USRA")
STATMSG "SCH1510. Invalid CLS input. Typical CLS settings for configuring this set are used.!"
ENDPROC
PROC SCH1893
txdc ("****")
waitfor ">"
USERMSG "SCH1893. Script failed. Corporate Directory not allowed for this set type!"
exit
ENDPROC
PROC SCH3127
txdc ("****")
waitfor ">"
STATMSG "SCH3127. Invalid AST key type. Only ACD, MCR, MCN, SCR and SCN key are supported.!"
ENDPROC
PROC SCH3129
STATMSG "SCH3129. This DN already has AST assigned and this TN is configured with CLS ICRD!"
ENDPROC
PROC SCH3682
STATMSG "SCH3682. Digit display Class of Service (ADD, DDS) is on. Cannot assign key 7 = its local program now.!"
; txdc ("")
ENDPROC
PROC SCH3683
STATMSG "SCH3683. For 2X16 set, handsfree Class of Service is defined. Cannot assign key 15 as it is now a handsfree key.!"
ENDPROC
PROC SCH3902
STATMSG "SCH3902. Only one input field allowed.!"
ENDPROC
PROC SCH5814
STATMSG "SCH5814. A set cannot have USR key with USRD Class of Service.!"
ENDPROC
PROC SCH6711
txdc ("*")
STATMSG "SCH6711. No trailing blanks/spaces can be entered after the CLID entry.Enter {CR} after the CLID entry!"
ENDPROC
PROC SCH8888
STATMSG "SCH8888. The Station Control Password can only use digits 0-9. Check if SCPW was needed after script file has finished!."
ENDPROC
PROC SCH8889
waitfor "SCPW "
txdc ("")
pause 1
STATMSG "SCH8889. CEPT default does not match the password length defined in LD 15. Check if SCPW was needed after script file has finished!."
ENDPROC
PROC MARP_NO
txdc ("NO")
ENDPROC
PROC OVL014
STATMSG "Please wait 30 seconds as the TTY is already logged in!"
ENDPROC
PROC OVL111
txdc ("****")
waitfor ">"
USERMSG "Script failed, as the TTY user is NOT logged into the system!"
exit
ENDPROC
PROC OVL428
txdc ("****")
USERMSG "Script failed. The Login name & password combination is invalid. Check the password & login name & try again.! On software versions V04.5x onwards, check if the password uses case SeNSiTivItY!"
exit
ENDPROC
PROC SCH0101
pause 2
transmit "****^M"
waitfor ">"
STATMSG "Please wait 30 seconds as the TTY is already logged in!"
ENDPROC
; The information listed below has been taken from the "vkeys.inc" file.
; I have added in one ";" against each line for use with this file!.
; Should your copy of "vkeys.inc" be missing or damaged, then you can copy this
; section listed below with one of the ";" removed for each line!.
;;Definitions of standard virtual key code values
;;****************************************
;;* VKEYS.INC
;;* Copyright (c) 1999 Symantec Corporation
;;*
;;* Definitions of standard virtual key code values. Use these macro
;;* definitions in your ASPECT script files rather than hard-coded
;;* constants to improve maintainability and readability. For more
;;* information, see the keyval and vkey conventions described in the
;;* Windows ASPECT Script Language reference manual.
;;***************************************
;#ifndef _INC_VKEYS ; if file not already included
;#define _INC_VKEYS ; prevent further inclusion
;;***************************************
;;* Macro definitions of standard virtual key code values
;;***************************************
;#define VK_LBUTTON 0x01 ; Left mouse button
;#define VK_RBUTTON 0x02 ; Right mouse button
;#define VK_CANCEL 0x03 ; Ctrl-Break
;#define VK_MBUTTON 0x04 ; Middle mouse button
;; 0x05-0x07 ; Undefined
;#define VK_BACK 0x08 ; Backspace key
;#define VK_TAB 0x09 ; Tab key
;; 0x0A-0x0B ; Undefined
;#define VK_CLEAR 0x0C ; Clear key or Keypad 5 with Num lock off
;#define VK_RETURN 0x0D ; Enter or Return key
;; 0x0E-0x0F ; Undefined
;#define VK_SHIFT 0x10 ; Shift key
;#define VK_CONTROL 0x11 ; Control or Ctrl key
;#define VK_MENU 0x12 ; Menu or Alt key
;#define VK_PAUSE 0x13 ; Pause key
;#define VK_CAPITAL 0x14 ; Capital or Caps Lock key
;; 0x15-0x19 ; Reserved for Kanji Systems
;; 0x1A ; Undefined
;#define VK_ESCAPE 0x1B ; Esc or Escape key
;; 0x1C-0x1F ; Reserved for Kanji Systems
;#define VK_SPACE 0x20 ; Spacebar
;#define VK_PRIOR 0x21 ; Page Up key
;#define VK_NEXT 0x22 ; Page Down key
;#define VK_END 0x23 ; End key
;#define VK_HOME 0x24 ; Home key
;#define VK_LEFT 0x25 ; Left arrow key
;#define VK_UP 0x26 ; Up Arrow key
;#define VK_RIGHT 0x27 ; Right Arrow key
;#define VK_DOWN 0x28 ; Down Arrow key
;#define VK_SELECT 0x29 ; Select key
;#define VK_PRINT 0x2A ; Keyboard (OEM) specific
;#define VK_EXECUTE 0x2B ; Execute key
;#define VK_SNAPSHOT 0x2C ; Print Screen key
;#define VK_INSERT 0x2D ; Insert key
;#define VK_DELETE 0x2E ; Delete key
;#define VK_HELP 0x2F ; Help key
;#define VK_0 0x30 ; 0 key
;#define VK_1 0x31 ; 1 key
;#define VK_2 0x32 ; 2 key
;#define VK_3 0x33 ; 3 key
;#define VK_4 0x34 ; 4 key
;#define VK_5 0x35 ; 5 key
;#define VK_6 0x36 ; 6 key
;#define VK_7 0x37 ; 7 key
;#define VK_8 0x38 ; 8 key
;#define VK_9 0x39 ; 9 key
;; 0x3A-0x40 ; Undefined
;#define VK_A 0x41 ; A key
;#define VK_B 0x42 ; B key
;#define VK_C 0x43 ; C key
;#define VK_D 0x44 ; D key
;#define VK_E 0x45 ; E key
;#define VK_F 0x46 ; F key
;#define VK_G 0x47 ; G key
;#define VK_H 0x48 ; H key
;#define VK_I 0x49 ; I key
;#define VK_J 0x4A ; J key
;#define VK_K 0x4B ; K key
;#define VK_L 0x4C ; L key
;#define VK_M 0x4D ; M key
;#define VK_N 0x4E ; N key
;#define VK_O 0x4F ; O key
;#define VK_P 0x50 ; P key
;#define VK_Q 0x51 ; Q key
;#define VK_R 0x52 ; R key
;#define VK_S 0x53 ; S key
;#define VK_T 0x54 ; T key
;#define VK_U 0x55 ; U key
;#define VK_V 0x56 ; V key
;#define VK_W 0x57 ; W key
;#define VK_X 0x58 ; X key
;#define VK_Y 0x59 ; Y key
;#define VK_Z 0x5A ; Z key
;#define VK_WINDOWSL 0x5B ; Windows key (left)
;#define VK_WINDOWSR 0x5C ; Windows key (right)
;#define VK_APPLICATION 0x5D ; Application key
;; 0x5E-0x5F ; Undefined
;#define VK_NUMPAD0 0x60 ; Numeric Keypad 0
;#define VK_NUMPAD1 0x61 ; Numeric Keypad 1
;#define VK_NUMPAD2 0x62 ; Numeric Keypad 2
;#define VK_NUMPAD3 0x63 ; Numeric Keypad 3
;#define VK_NUMPAD4 0x64 ; Numeric Keypad 4
;#define VK_NUMPAD5 0x65 ; Numeric Keypad 5
;#define VK_NUMPAD6 0x66 ; Numeric Keypad 6
;#define VK_NUMPAD7 0x67 ; Numeric Keypad 7
;#define VK_NUMPAD8 0x68 ; Numeric Keypad 8
;#define VK_NUMPAD9 0x69 ; Numeric Keypad 9
;#define VK_MULTIPLY 0x6A ; Multiply key
;#define VK_ADD 0x6B ; Add key
;#define VK_SEPARATOR 0x6C ; Separator key
;#define VK_SUBTRACT 0x6D ; Subtract key
;#define VK_DECIMAL 0x6E ; Decimal key
;#define VK_DIVIDE 0x6F ; Divide key
;#define VK_F1 0x70 ; Function key F1
;#define VK_F2 0x71 ; Function key F2
;#define VK_F3 0x72 ; Function key F3
;#define VK_F4 0x73 ; Function key F4
;#define VK_F5 0x74 ; Function key F5
;#define VK_F6 0x75 ; Function key F6
;#define VK_F7 0x76 ; Function key F7
;#define VK_F8 0x77 ; Function key F8
;#define VK_F9 0x78 ; Function key F9
;#define VK_F10 0x79 ; Function key F10
;#define VK_F11 0x7A ; Function key F11
;#define VK_F12 0x7B ; Function key F12
;#define VK_F13 0x7C ; Function key F13
;#define VK_F14 0x7D ; Function key F14
;#define VK_F15 0x7E ; Function key F15
;#define VK_F16 0x7F ; Function key F16
;#define VK_F17 0x80 ; Function key F17
;#define VK_F18 0x81 ; Function key F18
;#define VK_F19 0x82 ; Function key F19
;#define VK_F20 0x83 ; Function key F20
;#define VK_F21 0x84 ; Function key F21
;#define VK_F22 0x85 ; Function key F22
;#define VK_F23 0x86 ; Function key F23
;#define VK_F24 0x87 ; Function key F24
;; 0x88-0x8F ; Unassigned
;#define VK_NUMLOCK 0x90 ; Num Lock key
;#define VK_OEM_SCROLL 0x91 ; Scroll Lock key
;; 0x92-0xB9 ; Unassigned
;; 0xBA-0xC0 ; Keyboard (OEM) specific
;; 0xC1-0xDA ; Unassigned
;; 0xDB-0xE4 ; Keyboard (OEM) specific
;; 0xE5 ; Unassigned
;; 0xE6 ; Keyboard (OEM) specific
;; 0xE7-0xE8 ; Unassigned
;; 0xE9-0xF5 ; Keyboard (OEM) specific
;; 0xF6-0xFE ; Unassigned
;;***************************************
;;* Useful macros for testing and forming key values from keyboard
;;* shift states and virtual key code values.
;;***************************************
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.