Page 1 of 3

Cross Platform -- Detect StringGadget Carriage Return Key

Posted: Mon Feb 06, 2012 9:40 am
by Randy Walker
Before you criticise eherent shortcomings, please keep in mind ...
There is no Cross-platform solution to this problem ! ! !
(Maybe only a problem with Windows OS users)

Sorry, I had to break up the sample code into 4 parts. Just patch it all together into your IDE and run as is with and without the debugger. As noted in the comment lines, you could break the entire listing down into an 'include' file and 'program' file... up to you.

What is the point of all this?
I have battled with code over the years trying to find a sensible way to detect activation of the [Return] or [Enter] keys. Repeated searches and inquiries over the years to other users has repeatedly shown there is no such thing. Why not??!!

Simple Criteria
Its sooooo fundimental -- Everybody else in the world does it, so why is is so *elusive* in PureBasic.
Every time I think I have a *workaround* all ironed out and stable, the next version upgrade breaks it again so I have ended up with workaround on top of workaround on top of workaround. Yep, I'm sure I'm special -- NOBODY else has issues with this, but in case they do, this workaround is no less suitable than any of the other totally unsutable workarounds I have encountered or devised. So here is the basic criteria:
  • (A) Capture (detect) the use of the [Return] or [Enter] key from inside a string gadget.
    (B) Do so without the use of *ANY* workarounds:
    • * no AddKeyboardShortcuts
      * no OS specific API calls
Sorry, criteria (B) is not possible in PureBasic (and yes, I think it should be).

Yes, I am using AddKeyboardShortcuts here in my demo. I did not say this is the proper way. I only said it is a solution to the problem, and based on the majority of suggestions I have received here (and having no other alternative for ''cross-platform''), this is what I ended up with. seems to me, in the real word one should not have to resort to workarounds for something as basic a pressing [Enter]. What webpage does not respond to text when you press enter. What program installation does not respond when you press enter? Any spreedsheet responds to the enter key after you type text into a cell. Its not as though pressing [Enter] is a one in 10 million event thing. Its not!! We do it all the time.

Code: Select all

;  This workaround solution comes with some restriction -- cannot exceed 49151 *normal*
;  menu items per Window or you risk collisions with the Keyboard Shortcuts.

; FIRST THING TO DO IS GET SOME PRELIMINATRY NON-SENSE OUT OF THE WAY SO IT WILL LATER
; BE POSSIBLE TO MAKE USE OF THIS REDICULOUS WORKARAOUND... JUST TO MONITOR KEY ACTICVITY (Gripe)
#K_Shift = 2048 ; Test value for #PB_Shortcut_Shift
#K_Ctrl = 4096  ; Test value for #PB_Shortcut_Control
#K_Alt = 8192   ; Test value for #PB_Shortcut_Alt

#KB_Shift = #K_Shift + 49152 ; #PB_Shortcut_Shift
#KB_Ctrl = #K_Ctrl + 49152   ; #PB_Shortcut_Control
#KB_Alt = #K_Alt + 49152     ; #PB_Shortcut_Alt

#KB_Back = #PB_Shortcut_Back + 49152
#KB_Tab = #PB_Shortcut_Tab + 49152
#KB_Clear = #PB_Shortcut_Clear + 49152
#KB_Return = #PB_Shortcut_Return + 49152
#KB_Menu = #PB_Shortcut_Menu + 49152
#KB_Pause = #PB_Shortcut_Pause + 49152
#KB_Print = #PB_Shortcut_Print + 49152
#KB_Capital = #PB_Shortcut_Capital + 49152
#KB_Escape = #PB_Shortcut_Escape + 49152
#KB_Space = #PB_Shortcut_Space + 49152
#KB_Prior = #PB_Shortcut_Prior + 49152
#KB_Next = #PB_Shortcut_Next + 49152
#KB_End = #PB_Shortcut_End + 49152
#KB_Home = #PB_Shortcut_Home + 49152
#KB_Left = #PB_Shortcut_Left + 49152
#KB_Up = #PB_Shortcut_Up + 49152
#KB_Right = #PB_Shortcut_Right + 49152
#KB_Down = #PB_Shortcut_Down + 49152
#KB_Select = #PB_Shortcut_Select + 49152
#KB_Execute = #PB_Shortcut_Execute + 49152
#KB_Snapshot = #PB_Shortcut_Snapshot + 49152
#KB_Insert = #PB_Shortcut_Insert + 49152
#KB_Delete = #PB_Shortcut_Delete + 49152
#KB_Help = #PB_Shortcut_Help + 49152
#KB_0 = #PB_Shortcut_0 + 49152
#KB_1 = #PB_Shortcut_1 + 49152
#KB_2 = #PB_Shortcut_2 + 49152
#KB_3 = #PB_Shortcut_3 + 49152
#KB_4 = #PB_Shortcut_4 + 49152
#KB_5 = #PB_Shortcut_5 + 49152
#KB_6 = #PB_Shortcut_6 + 49152
#KB_7 = #PB_Shortcut_7 + 49152
#KB_8 = #PB_Shortcut_8 + 49152
#KB_9 = #PB_Shortcut_9 + 49152
#KB_A = #PB_Shortcut_A + 49152
#KB_B = #PB_Shortcut_B + 49152
#KB_C = #PB_Shortcut_C + 49152
#KB_D = #PB_Shortcut_D + 49152
#KB_E = #PB_Shortcut_E + 49152
#KB_F = #PB_Shortcut_F + 49152
#KB_G = #PB_Shortcut_G + 49152
#KB_H = #PB_Shortcut_H + 49152
#KB_I = #PB_Shortcut_I + 49152
#KB_J = #PB_Shortcut_J + 49152
#KB_K = #PB_Shortcut_K + 49152
#KB_L = #PB_Shortcut_L + 49152
#KB_M = #PB_Shortcut_M + 49152
#KB_N = #PB_Shortcut_N + 49152
#KB_O = #PB_Shortcut_O + 49152
#KB_P = #PB_Shortcut_P + 49152
#KB_Q = #PB_Shortcut_Q + 49152
#KB_R = #PB_Shortcut_R + 49152
#KB_S = #PB_Shortcut_S + 49152
#KB_T = #PB_Shortcut_T + 49152
#KB_U = #PB_Shortcut_U + 49152
#KB_V = #PB_Shortcut_V + 49152
#KB_W = #PB_Shortcut_W + 49152
#KB_X = #PB_Shortcut_X + 49152
#KB_Y = #PB_Shortcut_Y + 49152
#KB_Z = #PB_Shortcut_Z + 49152
#KB_LeftWindows = #PB_Shortcut_LeftWindows + 49152
#KB_RightWindows = #PB_Shortcut_RightWindows + 49152
#KB_Apps = #PB_Shortcut_Apps + 49152
#KB_Pad0 = #PB_Shortcut_Pad0 + 49152
#KB_Pad1 = #PB_Shortcut_Pad1 + 49152
#KB_Pad2 = #PB_Shortcut_Pad2 + 49152
#KB_Pad3 = #PB_Shortcut_Pad3 + 49152
#KB_Pad4 = #PB_Shortcut_Pad4 + 49152
#KB_Pad5 = #PB_Shortcut_Pad5 + 49152
#KB_Pad6 = #PB_Shortcut_Pad6 + 49152
#KB_Pad7 = #PB_Shortcut_Pad7 + 49152
#KB_Pad8 = #PB_Shortcut_Pad8 + 49152
#KB_Pad9 = #PB_Shortcut_Pad9 + 49152
#KB_Multiply = #PB_Shortcut_Multiply + 49152
#KB_Add = #PB_Shortcut_Add + 49152
#KB_Separator = #PB_Shortcut_Separator + 49152
#KB_Subtract = #PB_Shortcut_Subtract + 49152
#KB_Decimal = #PB_Shortcut_Decimal + 49152
#KB_Divide = #PB_Shortcut_Divide + 49152
#KB_F1 = #PB_Shortcut_F1 + 49152
#KB_F2 = #PB_Shortcut_F2 + 49152
#KB_F3 = #PB_Shortcut_F3 + 49152
#KB_F4 = #PB_Shortcut_F4 + 49152
#KB_F5 = #PB_Shortcut_F5 + 49152
#KB_F6 = #PB_Shortcut_F6 + 49152
#KB_F7 = #PB_Shortcut_F7 + 49152
#KB_F8 = #PB_Shortcut_F8 + 49152
#KB_F9 = #PB_Shortcut_F9 + 49152
#KB_F10 = #PB_Shortcut_F10 + 49152
#KB_F11 = #PB_Shortcut_F11 + 49152
#KB_F12 = #PB_Shortcut_F12 + 49152
#KB_F13 = #PB_Shortcut_F13 + 49152
#KB_F14 = #PB_Shortcut_F14 + 49152
#KB_F15 = #PB_Shortcut_F15 + 49152
#KB_F16 = #PB_Shortcut_F16 + 49152
#KB_F17 = #PB_Shortcut_F17 + 49152
#KB_F18 = #PB_Shortcut_F18 + 49152
#KB_F19 = #PB_Shortcut_F19 + 49152
#KB_F20 = #PB_Shortcut_F20 + 49152
#KB_F21 = #PB_Shortcut_F21 + 49152
#KB_F22 = #PB_Shortcut_F22 + 49152
#KB_F23 = #PB_Shortcut_F23 + 49152
#KB_F24 = #PB_Shortcut_F24 + 49152
#KB_Numlock = #PB_Shortcut_Numlock + 49152
#KB_Scroll = #PB_Shortcut_Scroll + 49152
#KB_Shift_Tab = #KB_Shift|#PB_Shortcut_Tab
#KB_Shift_Clear = #KB_Shift|#PB_Shortcut_Clear
#KB_Shift_Return = #KB_Shift|#PB_Shortcut_Return
#KB_Shift_Menu = #KB_Shift|#PB_Shortcut_Menu
#KB_Shift_Pause = #KB_Shift|#PB_Shortcut_Pause
#KB_Shift_Print = #KB_Shift|#PB_Shortcut_Print
#KB_Shift_Capital = #KB_Shift|#PB_Shortcut_Capital
#KB_Shift_Escape = #KB_Shift|#PB_Shortcut_Escape
#KB_Shift_Space = #KB_Shift|#PB_Shortcut_Space
#KB_Shift_Prior = #KB_Shift|#PB_Shortcut_Prior
#KB_Shift_Next = #KB_Shift|#PB_Shortcut_Next
#KB_Shift_End = #KB_Shift|#PB_Shortcut_End
#KB_Shift_Home = #KB_Shift|#PB_Shortcut_Home
#KB_Shift_Left = #KB_Shift|#PB_Shortcut_Left
#KB_Shift_Up = #KB_Shift|#PB_Shortcut_Up
#KB_Shift_Right = #KB_Shift|#PB_Shortcut_Right
#KB_Shift_Down = #KB_Shift|#PB_Shortcut_Down
#KB_Shift_Select = #KB_Shift|#PB_Shortcut_Select
#KB_Shift_Execute = #KB_Shift|#PB_Shortcut_Execute
#KB_Shift_Snapshot = #KB_Shift|#PB_Shortcut_Snapshot
#KB_Shift_Insert = #KB_Shift|#PB_Shortcut_Insert
#KB_Shift_Delete = #KB_Shift|#PB_Shortcut_Delete
#KB_Shift_Help = #KB_Shift|#PB_Shortcut_Help
#KB_Shift_0 = #KB_Shift|#PB_Shortcut_0
#KB_Shift_1 = #KB_Shift|#PB_Shortcut_1
#KB_Shift_2 = #KB_Shift|#PB_Shortcut_2
#KB_Shift_3 = #KB_Shift|#PB_Shortcut_3
#KB_Shift_4 = #KB_Shift|#PB_Shortcut_4
#KB_Shift_5 = #KB_Shift|#PB_Shortcut_5
#KB_Shift_6 = #KB_Shift|#PB_Shortcut_6
#KB_Shift_7 = #KB_Shift|#PB_Shortcut_7
#KB_Shift_8 = #KB_Shift|#PB_Shortcut_8
#KB_Shift_9 = #KB_Shift|#PB_Shortcut_9
#KB_Shift_A = #KB_Shift|#PB_Shortcut_A
#KB_Shift_B = #KB_Shift|#PB_Shortcut_B
#KB_Shift_C = #KB_Shift|#PB_Shortcut_C
#KB_Shift_D = #KB_Shift|#PB_Shortcut_D
#KB_Shift_E = #KB_Shift|#PB_Shortcut_E
#KB_Shift_F = #KB_Shift|#PB_Shortcut_F
#KB_Shift_G = #KB_Shift|#PB_Shortcut_G
#KB_Shift_H = #KB_Shift|#PB_Shortcut_H
#KB_Shift_I = #KB_Shift|#PB_Shortcut_I
#KB_Shift_J = #KB_Shift|#PB_Shortcut_J
#KB_Shift_K = #KB_Shift|#PB_Shortcut_K
#KB_Shift_L = #KB_Shift|#PB_Shortcut_L
#KB_Shift_M = #KB_Shift|#PB_Shortcut_M
#KB_Shift_N = #KB_Shift|#PB_Shortcut_N
#KB_Shift_O = #KB_Shift|#PB_Shortcut_O
#KB_Shift_P = #KB_Shift|#PB_Shortcut_P
#KB_Shift_Q = #KB_Shift|#PB_Shortcut_Q
#KB_Shift_R = #KB_Shift|#PB_Shortcut_R
#KB_Shift_S = #KB_Shift|#PB_Shortcut_S
#KB_Shift_T = #KB_Shift|#PB_Shortcut_T
#KB_Shift_U = #KB_Shift|#PB_Shortcut_U
#KB_Shift_V = #KB_Shift|#PB_Shortcut_V
#KB_Shift_W = #KB_Shift|#PB_Shortcut_W
#KB_Shift_X = #KB_Shift|#PB_Shortcut_X
#KB_Shift_Y = #KB_Shift|#PB_Shortcut_Y
#KB_Shift_Z = #KB_Shift|#PB_Shortcut_Z
#KB_Shift_LeftWindows = #KB_Shift|#PB_Shortcut_LeftWindows
#KB_Shift_RightWindows = #KB_Shift|#PB_Shortcut_RightWindows
#KB_Shift_Apps = #KB_Shift|#PB_Shortcut_Apps
#KB_Shift_Pad0 = #KB_Shift|#PB_Shortcut_Pad0
#KB_Shift_Pad1 = #KB_Shift|#PB_Shortcut_Pad1
#KB_Shift_Pad2 = #KB_Shift|#PB_Shortcut_Pad2
#KB_Shift_Pad3 = #KB_Shift|#PB_Shortcut_Pad3
#KB_Shift_Pad4 = #KB_Shift|#PB_Shortcut_Pad4
#KB_Shift_Pad5 = #KB_Shift|#PB_Shortcut_Pad5
#KB_Shift_Pad6 = #KB_Shift|#PB_Shortcut_Pad6
#KB_Shift_Pad7 = #KB_Shift|#PB_Shortcut_Pad7
#KB_Shift_Pad8 = #KB_Shift|#PB_Shortcut_Pad8
#KB_Shift_Pad9 = #KB_Shift|#PB_Shortcut_Pad9
#KB_Shift_Multiply = #KB_Shift|#PB_Shortcut_Multiply
#KB_Shift_Add = #KB_Shift|#PB_Shortcut_Add
#KB_Shift_Separator = #KB_Shift|#PB_Shortcut_Separator
#KB_Shift_Subtract = #KB_Shift|#PB_Shortcut_Subtract
#KB_Shift_Decimal = #KB_Shift|#PB_Shortcut_Decimal
#KB_Shift_Divide = #KB_Shift|#PB_Shortcut_Divide
#KB_Shift_F1 = #KB_Shift|#PB_Shortcut_F1
#KB_Shift_F2 = #KB_Shift|#PB_Shortcut_F2
#KB_Shift_F3 = #KB_Shift|#PB_Shortcut_F3
#KB_Shift_F4 = #KB_Shift|#PB_Shortcut_F4
#KB_Shift_F5 = #KB_Shift|#PB_Shortcut_F5
#KB_Shift_F6 = #KB_Shift|#PB_Shortcut_F6
#KB_Shift_F7 = #KB_Shift|#PB_Shortcut_F7
#KB_Shift_F8 = #KB_Shift|#PB_Shortcut_F8
#KB_Shift_F9 = #KB_Shift|#PB_Shortcut_F9
#KB_Shift_F10 = #KB_Shift|#PB_Shortcut_F10
#KB_Shift_F11 = #KB_Shift|#PB_Shortcut_F11
#KB_Shift_F12 = #KB_Shift|#PB_Shortcut_F12
#KB_Shift_F13 = #KB_Shift|#PB_Shortcut_F13
#KB_Shift_F14 = #KB_Shift|#PB_Shortcut_F14
#KB_Shift_F15 = #KB_Shift|#PB_Shortcut_F15
#KB_Shift_F16 = #KB_Shift|#PB_Shortcut_F16
#KB_Shift_F17 = #KB_Shift|#PB_Shortcut_F17
#KB_Shift_F18 = #KB_Shift|#PB_Shortcut_F18
#KB_Shift_F19 = #KB_Shift|#PB_Shortcut_F19
#KB_Shift_F20 = #KB_Shift|#PB_Shortcut_F20
#KB_Shift_F21 = #KB_Shift|#PB_Shortcut_F21
#KB_Shift_F22 = #KB_Shift|#PB_Shortcut_F22
#KB_Shift_F23 = #KB_Shift|#PB_Shortcut_F23
#KB_Shift_F24 = #KB_Shift|#PB_Shortcut_F24
#KB_Shift_Numlock = #KB_Shift|#PB_Shortcut_Numlock
#KB_Shift_Scroll = #KB_Shift|#PB_Shortcut_Scroll
#KB_Ctrl_Back = #KB_Ctrl|#PB_Shortcut_Back
#KB_Ctrl_Tab = #KB_Ctrl|#PB_Shortcut_Tab
#KB_Ctrl_Clear = #KB_Ctrl|#PB_Shortcut_Clear
#KB_Ctrl_Return = #KB_Ctrl|#PB_Shortcut_Return
#KB_Ctrl_Menu = #KB_Ctrl|#PB_Shortcut_Menu
#KB_Ctrl_Pause = #KB_Ctrl|#PB_Shortcut_Pause
#KB_Ctrl_Print = #KB_Ctrl|#PB_Shortcut_Print
#KB_Ctrl_Capital = #KB_Ctrl|#PB_Shortcut_Capital
#KB_Ctrl_Escape = #KB_Ctrl|#PB_Shortcut_Escape
#KB_Ctrl_Space = #KB_Ctrl|#PB_Shortcut_Space
#KB_Ctrl_Prior = #KB_Ctrl|#PB_Shortcut_Prior
#KB_Ctrl_Next = #KB_Ctrl|#PB_Shortcut_Next
#KB_Ctrl_End = #KB_Ctrl|#PB_Shortcut_End
#KB_Ctrl_Home = #KB_Ctrl|#PB_Shortcut_Home
#KB_Ctrl_Left = #KB_Ctrl|#PB_Shortcut_Left
#KB_Ctrl_Up = #KB_Ctrl|#PB_Shortcut_Up
#KB_Ctrl_Right = #KB_Ctrl|#PB_Shortcut_Right
#KB_Ctrl_Down = #KB_Ctrl|#PB_Shortcut_Down
#KB_Ctrl_Select = #KB_Ctrl|#PB_Shortcut_Select
#KB_Ctrl_Execute = #KB_Ctrl|#PB_Shortcut_Execute
#KB_Ctrl_Snapshot = #KB_Ctrl|#PB_Shortcut_Snapshot
#KB_Ctrl_Insert = #KB_Ctrl|#PB_Shortcut_Insert
#KB_Ctrl_Delete = #KB_Ctrl|#PB_Shortcut_Delete
#KB_Ctrl_Help = #KB_Ctrl|#PB_Shortcut_Help
#KB_Ctrl_0 = #KB_Ctrl|#PB_Shortcut_0
#KB_Ctrl_1 = #KB_Ctrl|#PB_Shortcut_1
#KB_Ctrl_2 = #KB_Ctrl|#PB_Shortcut_2
#KB_Ctrl_3 = #KB_Ctrl|#PB_Shortcut_3
#KB_Ctrl_4 = #KB_Ctrl|#PB_Shortcut_4
#KB_Ctrl_5 = #KB_Ctrl|#PB_Shortcut_5
#KB_Ctrl_6 = #KB_Ctrl|#PB_Shortcut_6
#KB_Ctrl_7 = #KB_Ctrl|#PB_Shortcut_7
#KB_Ctrl_8 = #KB_Ctrl|#PB_Shortcut_8
#KB_Ctrl_9 = #KB_Ctrl|#PB_Shortcut_9
#KB_Ctrl_A = #KB_Ctrl|#PB_Shortcut_A
#KB_Ctrl_B = #KB_Ctrl|#PB_Shortcut_B
#KB_Ctrl_C = #KB_Ctrl|#PB_Shortcut_C
#KB_Ctrl_D = #KB_Ctrl|#PB_Shortcut_D
#KB_Ctrl_E = #KB_Ctrl|#PB_Shortcut_E
#KB_Ctrl_F = #KB_Ctrl|#PB_Shortcut_F
#KB_Ctrl_G = #KB_Ctrl|#PB_Shortcut_G
#KB_Ctrl_H = #KB_Ctrl|#PB_Shortcut_H
#KB_Ctrl_I = #KB_Ctrl|#PB_Shortcut_I
#KB_Ctrl_J = #KB_Ctrl|#PB_Shortcut_J
#KB_Ctrl_K = #KB_Ctrl|#PB_Shortcut_K
#KB_Ctrl_L = #KB_Ctrl|#PB_Shortcut_L
#KB_Ctrl_M = #KB_Ctrl|#PB_Shortcut_M
#KB_Ctrl_N = #KB_Ctrl|#PB_Shortcut_N
#KB_Ctrl_O = #KB_Ctrl|#PB_Shortcut_O
#KB_Ctrl_P = #KB_Ctrl|#PB_Shortcut_P
#KB_Ctrl_Q = #KB_Ctrl|#PB_Shortcut_Q
#KB_Ctrl_R = #KB_Ctrl|#PB_Shortcut_R
#KB_Ctrl_S = #KB_Ctrl|#PB_Shortcut_S
#KB_Ctrl_T = #KB_Ctrl|#PB_Shortcut_T
#KB_Ctrl_U = #KB_Ctrl|#PB_Shortcut_U
#KB_Ctrl_V = #KB_Ctrl|#PB_Shortcut_V
#KB_Ctrl_W = #KB_Ctrl|#PB_Shortcut_W
#KB_Ctrl_X = #KB_Ctrl|#PB_Shortcut_X
#KB_Ctrl_Y = #KB_Ctrl|#PB_Shortcut_Y
#KB_Ctrl_Z = #KB_Ctrl|#PB_Shortcut_Z
#KB_Ctrl_LeftWindows = #KB_Ctrl|#PB_Shortcut_LeftWindows
#KB_Ctrl_RightWindows = #KB_Ctrl|#PB_Shortcut_RightWindows
#KB_Ctrl_Apps = #KB_Ctrl|#PB_Shortcut_Apps
#KB_Ctrl_Pad0 = #KB_Ctrl|#PB_Shortcut_Pad0
#KB_Ctrl_Pad1 = #KB_Ctrl|#PB_Shortcut_Pad1
#KB_Ctrl_Pad2 = #KB_Ctrl|#PB_Shortcut_Pad2
#KB_Ctrl_Pad3 = #KB_Ctrl|#PB_Shortcut_Pad3
#KB_Ctrl_Pad4 = #KB_Ctrl|#PB_Shortcut_Pad4
#KB_Ctrl_Pad5 = #KB_Ctrl|#PB_Shortcut_Pad5
#KB_Ctrl_Pad6 = #KB_Ctrl|#PB_Shortcut_Pad6
#KB_Ctrl_Pad7 = #KB_Ctrl|#PB_Shortcut_Pad7
#KB_Ctrl_Pad8 = #KB_Ctrl|#PB_Shortcut_Pad8
#KB_Ctrl_Pad9 = #KB_Ctrl|#PB_Shortcut_Pad9
#KB_Ctrl_Multiply = #KB_Ctrl|#PB_Shortcut_Multiply
#KB_Ctrl_Add = #KB_Ctrl|#PB_Shortcut_Add
#KB_Ctrl_Separator = #KB_Ctrl|#PB_Shortcut_Separator
#KB_Ctrl_Subtract = #KB_Ctrl|#PB_Shortcut_Subtract
#KB_Ctrl_Decimal = #KB_Ctrl|#PB_Shortcut_Decimal
#KB_Ctrl_Divide = #KB_Ctrl|#PB_Shortcut_Divide
#KB_Ctrl_F1 = #KB_Ctrl|#PB_Shortcut_F1
#KB_Ctrl_F2 = #KB_Ctrl|#PB_Shortcut_F2
#KB_Ctrl_F3 = #KB_Ctrl|#PB_Shortcut_F3
#KB_Ctrl_F4 = #KB_Ctrl|#PB_Shortcut_F4
#KB_Ctrl_F5 = #KB_Ctrl|#PB_Shortcut_F5
#KB_Ctrl_F6 = #KB_Ctrl|#PB_Shortcut_F6
#KB_Ctrl_F7 = #KB_Ctrl|#PB_Shortcut_F7
#KB_Ctrl_F8 = #KB_Ctrl|#PB_Shortcut_F8
#KB_Ctrl_F9 = #KB_Ctrl|#PB_Shortcut_F9
#KB_Ctrl_F10 = #KB_Ctrl|#PB_Shortcut_F10
#KB_Ctrl_F11 = #KB_Ctrl|#PB_Shortcut_F11
#KB_Ctrl_F12 = #KB_Ctrl|#PB_Shortcut_F12
#KB_Ctrl_F13 = #KB_Ctrl|#PB_Shortcut_F13
#KB_Ctrl_F14 = #KB_Ctrl|#PB_Shortcut_F14
#KB_Ctrl_F15 = #KB_Ctrl|#PB_Shortcut_F15
#KB_Ctrl_F16 = #KB_Ctrl|#PB_Shortcut_F16
#KB_Ctrl_F17 = #KB_Ctrl|#PB_Shortcut_F17
#KB_Ctrl_F18 = #KB_Ctrl|#PB_Shortcut_F18
#KB_Ctrl_F19 = #KB_Ctrl|#PB_Shortcut_F19
#KB_Ctrl_F20 = #KB_Ctrl|#PB_Shortcut_F20
#KB_Ctrl_F21 = #KB_Ctrl|#PB_Shortcut_F21
#KB_Ctrl_F22 = #KB_Ctrl|#PB_Shortcut_F22
#KB_Ctrl_F23 = #KB_Ctrl|#PB_Shortcut_F23
#KB_Ctrl_F24 = #KB_Ctrl|#PB_Shortcut_F24
#KB_Ctrl_Numlock = #KB_Ctrl|#PB_Shortcut_Numlock
#KB_Ctrl_Scroll = #KB_Ctrl|#PB_Shortcut_Scroll
#KB_Alt_Back = #KB_Alt|#PB_Shortcut_Back
#KB_Alt_Tab = #KB_Alt|#PB_Shortcut_Tab
#KB_Alt_Clear = #KB_Alt|#PB_Shortcut_Clear
#KB_Alt_Return = #KB_Alt|#PB_Shortcut_Return
#KB_Alt_Menu = #KB_Alt|#PB_Shortcut_Menu
#KB_Alt_Pause = #KB_Alt|#PB_Shortcut_Pause
#KB_Alt_Print = #KB_Alt|#PB_Shortcut_Print
#KB_Alt_Capital = #KB_Alt|#PB_Shortcut_Capital
#KB_Alt_Escape = #KB_Alt|#PB_Shortcut_Escape
#KB_Alt_Space = #KB_Alt|#PB_Shortcut_Space
#KB_Alt_Prior = #KB_Alt|#PB_Shortcut_Prior
#KB_Alt_Next = #KB_Alt|#PB_Shortcut_Next
#KB_Alt_End = #KB_Alt|#PB_Shortcut_End
#KB_Alt_Home = #KB_Alt|#PB_Shortcut_Home
#KB_Alt_Left = #KB_Alt|#PB_Shortcut_Left
#KB_Alt_Up = #KB_Alt|#PB_Shortcut_Up
#KB_Alt_Right = #KB_Alt|#PB_Shortcut_Right
#KB_Alt_Down = #KB_Alt|#PB_Shortcut_Down
#KB_Alt_Select = #KB_Alt|#PB_Shortcut_Select
#KB_Alt_Execute = #KB_Alt|#PB_Shortcut_Execute
#KB_Alt_Snapshot = #KB_Alt|#PB_Shortcut_Snapshot
#KB_Alt_Insert = #KB_Alt|#PB_Shortcut_Insert
#KB_Alt_Delete = #KB_Alt|#PB_Shortcut_Delete
#KB_Alt_Help = #KB_Alt|#PB_Shortcut_Help
#KB_Alt_0 = #KB_Alt|#PB_Shortcut_0
#KB_Alt_1 = #KB_Alt|#PB_Shortcut_1
#KB_Alt_2 = #KB_Alt|#PB_Shortcut_2
#KB_Alt_3 = #KB_Alt|#PB_Shortcut_3
#KB_Alt_4 = #KB_Alt|#PB_Shortcut_4
#KB_Alt_5 = #KB_Alt|#PB_Shortcut_5
#KB_Alt_6 = #KB_Alt|#PB_Shortcut_6
#KB_Alt_7 = #KB_Alt|#PB_Shortcut_7
#KB_Alt_8 = #KB_Alt|#PB_Shortcut_8
#KB_Alt_9 = #KB_Alt|#PB_Shortcut_9
#KB_Alt_A = #KB_Alt|#PB_Shortcut_A
#KB_Alt_B = #KB_Alt|#PB_Shortcut_B
#KB_Alt_C = #KB_Alt|#PB_Shortcut_C
#KB_Alt_D = #KB_Alt|#PB_Shortcut_D
#KB_Alt_E = #KB_Alt|#PB_Shortcut_E
#KB_Alt_F = #KB_Alt|#PB_Shortcut_F
#KB_Alt_G = #KB_Alt|#PB_Shortcut_G
#KB_Alt_H = #KB_Alt|#PB_Shortcut_H
#KB_Alt_I = #KB_Alt|#PB_Shortcut_I
#KB_Alt_J = #KB_Alt|#PB_Shortcut_J
#KB_Alt_K = #KB_Alt|#PB_Shortcut_K
#KB_Alt_L = #KB_Alt|#PB_Shortcut_L
#KB_Alt_M = #KB_Alt|#PB_Shortcut_M
#KB_Alt_N = #KB_Alt|#PB_Shortcut_N
#KB_Alt_O = #KB_Alt|#PB_Shortcut_O
#KB_Alt_P = #KB_Alt|#PB_Shortcut_P
#KB_Alt_Q = #KB_Alt|#PB_Shortcut_Q
#KB_Alt_R = #KB_Alt|#PB_Shortcut_R
#KB_Alt_S = #KB_Alt|#PB_Shortcut_S
#KB_Alt_T = #KB_Alt|#PB_Shortcut_T
#KB_Alt_U = #KB_Alt|#PB_Shortcut_U
#KB_Alt_V = #KB_Alt|#PB_Shortcut_V
#KB_Alt_W = #KB_Alt|#PB_Shortcut_W
#KB_Alt_X = #KB_Alt|#PB_Shortcut_X
#KB_Alt_Y = #KB_Alt|#PB_Shortcut_Y
#KB_Alt_Z = #KB_Alt|#PB_Shortcut_Z
#KB_Alt_LeftWindows = #KB_Alt|#PB_Shortcut_LeftWindows
#KB_Alt_RightWindows = #KB_Alt|#PB_Shortcut_RightWindows
#KB_Alt_Apps = #KB_Alt|#PB_Shortcut_Apps
#KB_Alt_Pad0 = #KB_Alt|#PB_Shortcut_Pad0
#KB_Alt_Pad1 = #KB_Alt|#PB_Shortcut_Pad1
#KB_Alt_Pad2 = #KB_Alt|#PB_Shortcut_Pad2
#KB_Alt_Pad3 = #KB_Alt|#PB_Shortcut_Pad3
#KB_Alt_Pad4 = #KB_Alt|#PB_Shortcut_Pad4
#KB_Alt_Pad5 = #KB_Alt|#PB_Shortcut_Pad5
#KB_Alt_Pad6 = #KB_Alt|#PB_Shortcut_Pad6
#KB_Alt_Pad7 = #KB_Alt|#PB_Shortcut_Pad7
#KB_Alt_Pad8 = #KB_Alt|#PB_Shortcut_Pad8
#KB_Alt_Pad9 = #KB_Alt|#PB_Shortcut_Pad9
#KB_Alt_Multiply = #KB_Alt|#PB_Shortcut_Multiply
#KB_Alt_Add = #KB_Alt|#PB_Shortcut_Add
#KB_Alt_Separator = #KB_Alt|#PB_Shortcut_Separator
#KB_Alt_Subtract = #KB_Alt|#PB_Shortcut_Subtract
#KB_Alt_Decimal = #KB_Alt|#PB_Shortcut_Decimal
#KB_Alt_Divide = #KB_Alt|#PB_Shortcut_Divide
#KB_Alt_F1 = #KB_Alt|#PB_Shortcut_F1
#KB_Alt_F2 = #KB_Alt|#PB_Shortcut_F2
#KB_Alt_F3 = #KB_Alt|#PB_Shortcut_F3
#KB_Alt_F4 = #KB_Alt|#PB_Shortcut_F4
#KB_Alt_F5 = #KB_Alt|#PB_Shortcut_F5
#KB_Alt_F6 = #KB_Alt|#PB_Shortcut_F6
#KB_Alt_F7 = #KB_Alt|#PB_Shortcut_F7
#KB_Alt_F8 = #KB_Alt|#PB_Shortcut_F8
#KB_Alt_F9 = #KB_Alt|#PB_Shortcut_F9
#KB_Alt_F10 = #KB_Alt|#PB_Shortcut_F10
#KB_Alt_F11 = #KB_Alt|#PB_Shortcut_F11
#KB_Alt_F12 = #KB_Alt|#PB_Shortcut_F12
#KB_Alt_F13 = #KB_Alt|#PB_Shortcut_F13
#KB_Alt_F14 = #KB_Alt|#PB_Shortcut_F14
#KB_Alt_F15 = #KB_Alt|#PB_Shortcut_F15
#KB_Alt_F16 = #KB_Alt|#PB_Shortcut_F16
#KB_Alt_F17 = #KB_Alt|#PB_Shortcut_F17
#KB_Alt_F18 = #KB_Alt|#PB_Shortcut_F18
#KB_Alt_F19 = #KB_Alt|#PB_Shortcut_F19
#KB_Alt_F20 = #KB_Alt|#PB_Shortcut_F20
#KB_Alt_F21 = #KB_Alt|#PB_Shortcut_F21
#KB_Alt_F22 = #KB_Alt|#PB_Shortcut_F22
#KB_Alt_F23 = #KB_Alt|#PB_Shortcut_F23
#KB_Alt_F24 = #KB_Alt|#PB_Shortcut_F24
#KB_Alt_Numlock = #KB_Alt|#PB_Shortcut_Numlock
#KB_Alt_Scroll = #KB_Alt|#PB_Shortcut_Scroll
#KB_Ctrl_Shift_Back = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Back
#KB_Ctrl_Shift_Tab = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Tab
#KB_Ctrl_Shift_Clear = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Clear
#KB_Ctrl_Shift_Return = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Return
#KB_Ctrl_Shift_Menu = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Menu
#KB_Ctrl_Shift_Pause = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Pause
#KB_Ctrl_Shift_Print = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Print
#KB_Ctrl_Shift_Capital = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Capital
#KB_Ctrl_Shift_Escape = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Escape
#KB_Ctrl_Shift_Space = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Space
#KB_Ctrl_Shift_Prior = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Prior
#KB_Ctrl_Shift_Next = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Next
#KB_Ctrl_Shift_End = #KB_Ctrl|#KB_Shift|#PB_Shortcut_End
#KB_Ctrl_Shift_Home = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Home
#KB_Ctrl_Shift_Left = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Left
#KB_Ctrl_Shift_Up = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Up
#KB_Ctrl_Shift_Right = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Right
#KB_Ctrl_Shift_Down = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Down
#KB_Ctrl_Shift_Select = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Select
#KB_Ctrl_Shift_Execute = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Execute
#KB_Ctrl_Shift_Snapshot = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Snapshot
#KB_Ctrl_Shift_Insert = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Insert
#KB_Ctrl_Shift_Delete = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Delete
#KB_Ctrl_Shift_Help = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Help
#KB_Ctrl_Shift_0 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_0
#KB_Ctrl_Shift_1 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_1
#KB_Ctrl_Shift_2 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_2
#KB_Ctrl_Shift_3 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_3
#KB_Ctrl_Shift_4 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_4
#KB_Ctrl_Shift_5 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_5
#KB_Ctrl_Shift_6 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_6
#KB_Ctrl_Shift_7 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_7
#KB_Ctrl_Shift_8 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_8
#KB_Ctrl_Shift_9 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_9
#KB_Ctrl_Shift_A = #KB_Ctrl|#KB_Shift|#PB_Shortcut_A
#KB_Ctrl_Shift_B = #KB_Ctrl|#KB_Shift|#PB_Shortcut_B
#KB_Ctrl_Shift_C = #KB_Ctrl|#KB_Shift|#PB_Shortcut_C
#KB_Ctrl_Shift_D = #KB_Ctrl|#KB_Shift|#PB_Shortcut_D
#KB_Ctrl_Shift_E = #KB_Ctrl|#KB_Shift|#PB_Shortcut_E
#KB_Ctrl_Shift_F = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F
#KB_Ctrl_Shift_G = #KB_Ctrl|#KB_Shift|#PB_Shortcut_G
#KB_Ctrl_Shift_H = #KB_Ctrl|#KB_Shift|#PB_Shortcut_H
#KB_Ctrl_Shift_I = #KB_Ctrl|#KB_Shift|#PB_Shortcut_I
#KB_Ctrl_Shift_J = #KB_Ctrl|#KB_Shift|#PB_Shortcut_J
#KB_Ctrl_Shift_K = #KB_Ctrl|#KB_Shift|#PB_Shortcut_K
#KB_Ctrl_Shift_L = #KB_Ctrl|#KB_Shift|#PB_Shortcut_L
#KB_Ctrl_Shift_M = #KB_Ctrl|#KB_Shift|#PB_Shortcut_M
#KB_Ctrl_Shift_N = #KB_Ctrl|#KB_Shift|#PB_Shortcut_N
#KB_Ctrl_Shift_O = #KB_Ctrl|#KB_Shift|#PB_Shortcut_O
#KB_Ctrl_Shift_P = #KB_Ctrl|#KB_Shift|#PB_Shortcut_P
#KB_Ctrl_Shift_Q = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Q
#KB_Ctrl_Shift_R = #KB_Ctrl|#KB_Shift|#PB_Shortcut_R
#KB_Ctrl_Shift_S = #KB_Ctrl|#KB_Shift|#PB_Shortcut_S
#KB_Ctrl_Shift_T = #KB_Ctrl|#KB_Shift|#PB_Shortcut_T
#KB_Ctrl_Shift_U = #KB_Ctrl|#KB_Shift|#PB_Shortcut_U
#KB_Ctrl_Shift_V = #KB_Ctrl|#KB_Shift|#PB_Shortcut_V
#KB_Ctrl_Shift_W = #KB_Ctrl|#KB_Shift|#PB_Shortcut_W
#KB_Ctrl_Shift_X = #KB_Ctrl|#KB_Shift|#PB_Shortcut_X
#KB_Ctrl_Shift_Y = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Y
#KB_Ctrl_Shift_Z = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Z
#KB_Ctrl_Shift_LeftWindows = #KB_Ctrl|#KB_Shift|#PB_Shortcut_LeftWindows
#KB_Ctrl_Shift_RightWindows = #KB_Ctrl|#KB_Shift|#PB_Shortcut_RightWindows
#KB_Ctrl_Shift_Apps = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Apps
#KB_Ctrl_Shift_Pad0 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Pad0
#KB_Ctrl_Shift_Pad1 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Pad1
#KB_Ctrl_Shift_Pad2 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Pad2
#KB_Ctrl_Shift_Pad3 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Pad3
#KB_Ctrl_Shift_Pad4 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Pad4
#KB_Ctrl_Shift_Pad5 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Pad5
#KB_Ctrl_Shift_Pad6 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Pad6
#KB_Ctrl_Shift_Pad7 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Pad7
#KB_Ctrl_Shift_Pad8 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Pad8
#KB_Ctrl_Shift_Pad9 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Pad9
#KB_Ctrl_Shift_Multiply = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Multiply
#KB_Ctrl_Shift_Add = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Add
#KB_Ctrl_Shift_Separator = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Separator
#KB_Ctrl_Shift_Subtract = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Subtract
#KB_Ctrl_Shift_Decimal = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Decimal
#KB_Ctrl_Shift_Divide = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Divide
#KB_Ctrl_Shift_F1 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F1
#KB_Ctrl_Shift_F2 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F2
#KB_Ctrl_Shift_F3 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F3
#KB_Ctrl_Shift_F4 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F4
#KB_Ctrl_Shift_F5 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F5
#KB_Ctrl_Shift_F6 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F6
#KB_Ctrl_Shift_F7 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F7
#KB_Ctrl_Shift_F8 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F8
#KB_Ctrl_Shift_F9 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F9
#KB_Ctrl_Shift_F10 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F10
#KB_Ctrl_Shift_F11 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F11
#KB_Ctrl_Shift_F12 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F12
#KB_Ctrl_Shift_F13 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F13
#KB_Ctrl_Shift_F14 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F14
#KB_Ctrl_Shift_F15 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F15
#KB_Ctrl_Shift_F16 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F16
#KB_Ctrl_Shift_F17 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F17
#KB_Ctrl_Shift_F18 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F18
#KB_Ctrl_Shift_F19 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F19
#KB_Ctrl_Shift_F20 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F20
#KB_Ctrl_Shift_F21 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F21
#KB_Ctrl_Shift_F22 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F22
#KB_Ctrl_Shift_F23 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F23
#KB_Ctrl_Shift_F24 = #KB_Ctrl|#KB_Shift|#PB_Shortcut_F24
#KB_Ctrl_Shift_Numlock = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Numlock
#KB_Ctrl_Shift_Scroll = #KB_Ctrl|#KB_Shift|#PB_Shortcut_Scroll
#KB_Ctrl_Alt_Back = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Back
#KB_Ctrl_Alt_Tab = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Tab
#KB_Ctrl_Alt_Clear = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Clear
#KB_Ctrl_Alt_Return = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Return
#KB_Ctrl_Alt_Menu = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Menu
#KB_Ctrl_Alt_Pause = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Pause
#KB_Ctrl_Alt_Print = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Print
#KB_Ctrl_Alt_Capital = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Capital
#KB_Ctrl_Alt_Escape = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Escape
#KB_Ctrl_Alt_Space = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Space
#KB_Ctrl_Alt_Prior = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Prior
#KB_Ctrl_Alt_Next = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Next
#KB_Ctrl_Alt_End = #KB_Ctrl|#KB_Alt|#PB_Shortcut_End
#KB_Ctrl_Alt_Home = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Home
#KB_Ctrl_Alt_Left = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Left
#KB_Ctrl_Alt_Up = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Up
#KB_Ctrl_Alt_Right = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Right
#KB_Ctrl_Alt_Down = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Down
#KB_Ctrl_Alt_Select = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Select
#KB_Ctrl_Alt_Execute = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Execute
#KB_Ctrl_Alt_Snapshot = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Snapshot
#KB_Ctrl_Alt_Insert = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Insert
#KB_Ctrl_Alt_Delete = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Delete
#KB_Ctrl_Alt_Help = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Help
#KB_Ctrl_Alt_0 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_0
#KB_Ctrl_Alt_1 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_1
#KB_Ctrl_Alt_2 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_2
#KB_Ctrl_Alt_3 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_3
#KB_Ctrl_Alt_4 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_4
#KB_Ctrl_Alt_5 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_5
#KB_Ctrl_Alt_6 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_6
#KB_Ctrl_Alt_7 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_7
#KB_Ctrl_Alt_8 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_8
#KB_Ctrl_Alt_9 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_9
#KB_Ctrl_Alt_A = #KB_Ctrl|#KB_Alt|#PB_Shortcut_A
#KB_Ctrl_Alt_B = #KB_Ctrl|#KB_Alt|#PB_Shortcut_B
#KB_Ctrl_Alt_C = #KB_Ctrl|#KB_Alt|#PB_Shortcut_C
#KB_Ctrl_Alt_D = #KB_Ctrl|#KB_Alt|#PB_Shortcut_D
#KB_Ctrl_Alt_E = #KB_Ctrl|#KB_Alt|#PB_Shortcut_E
#KB_Ctrl_Alt_F = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F
#KB_Ctrl_Alt_G = #KB_Ctrl|#KB_Alt|#PB_Shortcut_G
#KB_Ctrl_Alt_H = #KB_Ctrl|#KB_Alt|#PB_Shortcut_H
#KB_Ctrl_Alt_I = #KB_Ctrl|#KB_Alt|#PB_Shortcut_I
#KB_Ctrl_Alt_J = #KB_Ctrl|#KB_Alt|#PB_Shortcut_J
#KB_Ctrl_Alt_K = #KB_Ctrl|#KB_Alt|#PB_Shortcut_K
#KB_Ctrl_Alt_L = #KB_Ctrl|#KB_Alt|#PB_Shortcut_L
#KB_Ctrl_Alt_M = #KB_Ctrl|#KB_Alt|#PB_Shortcut_M
#KB_Ctrl_Alt_N = #KB_Ctrl|#KB_Alt|#PB_Shortcut_N
#KB_Ctrl_Alt_O = #KB_Ctrl|#KB_Alt|#PB_Shortcut_O
#KB_Ctrl_Alt_P = #KB_Ctrl|#KB_Alt|#PB_Shortcut_P
#KB_Ctrl_Alt_Q = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Q
#KB_Ctrl_Alt_R = #KB_Ctrl|#KB_Alt|#PB_Shortcut_R
#KB_Ctrl_Alt_S = #KB_Ctrl|#KB_Alt|#PB_Shortcut_S
#KB_Ctrl_Alt_T = #KB_Ctrl|#KB_Alt|#PB_Shortcut_T
#KB_Ctrl_Alt_U = #KB_Ctrl|#KB_Alt|#PB_Shortcut_U
#KB_Ctrl_Alt_V = #KB_Ctrl|#KB_Alt|#PB_Shortcut_V
#KB_Ctrl_Alt_W = #KB_Ctrl|#KB_Alt|#PB_Shortcut_W
#KB_Ctrl_Alt_X = #KB_Ctrl|#KB_Alt|#PB_Shortcut_X
#KB_Ctrl_Alt_Y = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Y
#KB_Ctrl_Alt_Z = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Z
#KB_Ctrl_Alt_LeftWindows = #KB_Ctrl|#KB_Alt|#PB_Shortcut_LeftWindows
#KB_Ctrl_Alt_RightWindows = #KB_Ctrl|#KB_Alt|#PB_Shortcut_RightWindows
#KB_Ctrl_Alt_Apps = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Apps
#KB_Ctrl_Alt_Pad0 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Pad0
#KB_Ctrl_Alt_Pad1 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Pad1
#KB_Ctrl_Alt_Pad2 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Pad2
#KB_Ctrl_Alt_Pad3 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Pad3
#KB_Ctrl_Alt_Pad4 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Pad4
#KB_Ctrl_Alt_Pad5 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Pad5
#KB_Ctrl_Alt_Pad6 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Pad6
#KB_Ctrl_Alt_Pad7 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Pad7
#KB_Ctrl_Alt_Pad8 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Pad8
#KB_Ctrl_Alt_Pad9 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Pad9
#KB_Ctrl_Alt_Multiply = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Multiply
#KB_Ctrl_Alt_Add = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Add
#KB_Ctrl_Alt_Separator = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Separator
#KB_Ctrl_Alt_Subtract = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Subtract
#KB_Ctrl_Alt_Decimal = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Decimal
#KB_Ctrl_Alt_Divide = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Divide
#KB_Ctrl_Alt_F1 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F1
#KB_Ctrl_Alt_F2 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F2
#KB_Ctrl_Alt_F3 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F3
#KB_Ctrl_Alt_F4 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F4
#KB_Ctrl_Alt_F5 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F5
#KB_Ctrl_Alt_F6 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F6
#KB_Ctrl_Alt_F7 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F7
#KB_Ctrl_Alt_F8 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F8
#KB_Ctrl_Alt_F9 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F9
#KB_Ctrl_Alt_F10 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F10
#KB_Ctrl_Alt_F11 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F11
#KB_Ctrl_Alt_F12 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F12
#KB_Ctrl_Alt_F13 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F13
#KB_Ctrl_Alt_F14 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F14
#KB_Ctrl_Alt_F15 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F15
#KB_Ctrl_Alt_F16 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F16
#KB_Ctrl_Alt_F17 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F17
#KB_Ctrl_Alt_F18 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F18
#KB_Ctrl_Alt_F19 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F19
#KB_Ctrl_Alt_F20 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F20
#KB_Ctrl_Alt_F21 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F21
#KB_Ctrl_Alt_F22 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F22
#KB_Ctrl_Alt_F23 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F23
#KB_Ctrl_Alt_F24 = #KB_Ctrl|#KB_Alt|#PB_Shortcut_F24
#KB_Ctrl_Alt_Numlock = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Numlock
#KB_Ctrl_Alt_Scroll = #KB_Ctrl|#KB_Alt|#PB_Shortcut_Scroll
#KB_Ctrl_Alt_Shift_Back = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Back
#KB_Ctrl_Alt_Shift_Tab = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Tab
#KB_Ctrl_Alt_Shift_Clear = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Clear
#KB_Ctrl_Alt_Shift_Return = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Return
#KB_Ctrl_Alt_Shift_Menu = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Menu
#KB_Ctrl_Alt_Shift_Pause = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Pause
#KB_Ctrl_Alt_Shift_Print = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Print
#KB_Ctrl_Alt_Shift_Capital = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Capital
#KB_Ctrl_Alt_Shift_Escape = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Escape
#KB_Ctrl_Alt_Shift_Space = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Space
#KB_Ctrl_Alt_Shift_Prior = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Prior
#KB_Ctrl_Alt_Shift_Next = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Next
#KB_Ctrl_Alt_Shift_End = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_End
#KB_Ctrl_Alt_Shift_Home = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Home
#KB_Ctrl_Alt_Shift_Left = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Left
#KB_Ctrl_Alt_Shift_Up = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Up
#KB_Ctrl_Alt_Shift_Right = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Right
#KB_Ctrl_Alt_Shift_Down = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Down
#KB_Ctrl_Alt_Shift_Select = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Select
#KB_Ctrl_Alt_Shift_Execute = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Execute
#KB_Ctrl_Alt_Shift_Snapshot = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Snapshot
#KB_Ctrl_Alt_Shift_Insert = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Insert
#KB_Ctrl_Alt_Shift_Delete = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Delete
#KB_Ctrl_Alt_Shift_Help = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Help
#KB_Ctrl_Alt_Shift_0 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_0
#KB_Ctrl_Alt_Shift_1 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_1
#KB_Ctrl_Alt_Shift_2 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_2
#KB_Ctrl_Alt_Shift_3 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_3
#KB_Ctrl_Alt_Shift_4 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_4
#KB_Ctrl_Alt_Shift_5 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_5
#KB_Ctrl_Alt_Shift_6 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_6
#KB_Ctrl_Alt_Shift_7 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_7
#KB_Ctrl_Alt_Shift_8 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_8
#KB_Ctrl_Alt_Shift_9 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_9
#KB_Ctrl_Alt_Shift_A = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_A
#KB_Ctrl_Alt_Shift_B = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_B
#KB_Ctrl_Alt_Shift_C = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_C
#KB_Ctrl_Alt_Shift_D = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_D
#KB_Ctrl_Alt_Shift_E = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_E
#KB_Ctrl_Alt_Shift_F = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F
#KB_Ctrl_Alt_Shift_G = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_G
#KB_Ctrl_Alt_Shift_H = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_H
#KB_Ctrl_Alt_Shift_I = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_I
#KB_Ctrl_Alt_Shift_J = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_J
#KB_Ctrl_Alt_Shift_K = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_K
#KB_Ctrl_Alt_Shift_L = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_L
#KB_Ctrl_Alt_Shift_M = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_M
#KB_Ctrl_Alt_Shift_N = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_N
#KB_Ctrl_Alt_Shift_O = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_O
#KB_Ctrl_Alt_Shift_P = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_P
#KB_Ctrl_Alt_Shift_Q = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Q
#KB_Ctrl_Alt_Shift_R = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_R
#KB_Ctrl_Alt_Shift_S = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_S
#KB_Ctrl_Alt_Shift_T = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_T
#KB_Ctrl_Alt_Shift_U = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_U
#KB_Ctrl_Alt_Shift_V = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_V
#KB_Ctrl_Alt_Shift_W = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_W
#KB_Ctrl_Alt_Shift_X = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_X
#KB_Ctrl_Alt_Shift_Y = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Y
#KB_Ctrl_Alt_Shift_Z = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Z
#KB_Ctrl_Alt_Shift_LeftWindows = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_LeftWindows
#KB_Ctrl_Alt_Shift_RightWindows = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_RightWindows
#KB_Ctrl_Alt_Shift_Apps = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Apps
#KB_Ctrl_Alt_Shift_Pad0 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Pad0
#KB_Ctrl_Alt_Shift_Pad1 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Pad1
#KB_Ctrl_Alt_Shift_Pad2 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Pad2
#KB_Ctrl_Alt_Shift_Pad3 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Pad3
#KB_Ctrl_Alt_Shift_Pad4 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Pad4
#KB_Ctrl_Alt_Shift_Pad5 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Pad5
#KB_Ctrl_Alt_Shift_Pad6 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Pad6
#KB_Ctrl_Alt_Shift_Pad7 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Pad7
#KB_Ctrl_Alt_Shift_Pad8 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Pad8
#KB_Ctrl_Alt_Shift_Pad9 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Pad9
#KB_Ctrl_Alt_Shift_Multiply = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Multiply
#KB_Ctrl_Alt_Shift_Add = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Add
#KB_Ctrl_Alt_Shift_Separator = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Separator
#KB_Ctrl_Alt_Shift_Subtract = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Subtract
#KB_Ctrl_Alt_Shift_Decimal = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Decimal
#KB_Ctrl_Alt_Shift_Divide = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Divide
#KB_Ctrl_Alt_Shift_F1 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F1
#KB_Ctrl_Alt_Shift_F2 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F2
#KB_Ctrl_Alt_Shift_F3 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F3
#KB_Ctrl_Alt_Shift_F4 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F4
#KB_Ctrl_Alt_Shift_F5 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F5
#KB_Ctrl_Alt_Shift_F6 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F6
#KB_Ctrl_Alt_Shift_F7 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F7
#KB_Ctrl_Alt_Shift_F8 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F8
#KB_Ctrl_Alt_Shift_F9 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F9
#KB_Ctrl_Alt_Shift_F10 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F10
#KB_Ctrl_Alt_Shift_F11 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F11
#KB_Ctrl_Alt_Shift_F12 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F12
#KB_Ctrl_Alt_Shift_F13 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F13
#KB_Ctrl_Alt_Shift_F14 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F14
#KB_Ctrl_Alt_Shift_F15 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F15
#KB_Ctrl_Alt_Shift_F16 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F16
#KB_Ctrl_Alt_Shift_F17 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F17
#KB_Ctrl_Alt_Shift_F18 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F18
#KB_Ctrl_Alt_Shift_F19 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F19
#KB_Ctrl_Alt_Shift_F20 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F20
#KB_Ctrl_Alt_Shift_F21 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F21
#KB_Ctrl_Alt_Shift_F22 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F22
#KB_Ctrl_Alt_Shift_F23 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F23
#KB_Ctrl_Alt_Shift_F24 = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_F24
#KB_Ctrl_Alt_Shift_Numlock = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Numlock
#KB_Ctrl_Alt_Shift_Scroll = #KB_Ctrl|#KB_Alt|#KB_Shift|#PB_Shortcut_Scroll 

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Posted: Mon Feb 06, 2012 9:40 am
by Randy Walker

Code: Select all

; NEXT THING TO DO IS PACK ALL THAT PRELIMINATRY NON-SENSE ABOVE THAT MIGHT BE INTERPRETED
; AS PSEUDO KEYBOARD CODES INTO SOME SHORTCUT ASSIGNMENTS TO SIMLATE PSEUDO MENU CODE
; SELECTIONS USING THE **KEYBOARD CODES THAT ALREADY EXIST** SO THIS CAN ALL BE USED
; LATER TO MONITOR USER KEYBOARD ACTICVITY WITH THE USE OF THIS REDICULOUS WORKARAOUND
Procedure ShouldNotHaveToDoThisBut_ApplyWorkaroundCodesToAllTheWindowsAnywaySoYouCanCatchCarriageReturnOrAnyOtherKeyYouMayNeed()
  For pbWnd.l = 0 To 32767
    If IsWindow(pbWnd)
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift , #KB_Shift )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control , #KB_Ctrl )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt , #KB_Alt )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Back , #KB_Back )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Tab , #KB_Tab )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Clear , #KB_Clear )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Return , #KB_Return )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Menu , #KB_Menu )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Pause , #KB_Pause )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Print , #KB_Print )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Capital , #KB_Capital )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Escape , #KB_Escape )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Space , #KB_Space )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Prior , #KB_Prior )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Next , #KB_Next )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_End , #KB_End )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Home , #KB_Home )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Left , #KB_Left )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Up , #KB_Up )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Right , #KB_Right )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Down , #KB_Down )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Select , #KB_Select )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Execute , #KB_Execute )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Snapshot , #KB_Snapshot )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Insert , #KB_Insert )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Delete , #KB_Delete )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Help , #KB_Help )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_0 , #KB_0 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_1 , #KB_1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_2 , #KB_2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_3 , #KB_3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_4 , #KB_4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_5 , #KB_5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_6 , #KB_6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_7 , #KB_7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_8 , #KB_8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_9 , #KB_9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_A , #KB_A )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_B , #KB_B )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_C , #KB_C )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_D , #KB_D )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_E , #KB_E )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F , #KB_F )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_G , #KB_G )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_H , #KB_H )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_I , #KB_I )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_J , #KB_J )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_K , #KB_K )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_L , #KB_L )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_M , #KB_M )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_N , #KB_N )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_O , #KB_O )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_P , #KB_P )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Q , #KB_Q )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_R , #KB_R )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_S , #KB_S )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_T , #KB_T )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_U , #KB_U )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_V , #KB_V )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_W , #KB_W )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_X , #KB_X )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Y , #KB_Y )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Z , #KB_Z )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_LeftWindows , #KB_LeftWindows )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_RightWindows , #KB_RightWindows )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Apps , #KB_Apps )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Pad0 , #KB_Pad0 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Pad1 , #KB_Pad1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Pad2 , #KB_Pad2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Pad3 , #KB_Pad3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Pad4 , #KB_Pad4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Pad5 , #KB_Pad5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Pad6 , #KB_Pad6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Pad7 , #KB_Pad7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Pad8 , #KB_Pad8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Pad9 , #KB_Pad9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Multiply , #KB_Multiply )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Add , #KB_Add )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Separator , #KB_Separator )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Subtract , #KB_Subtract )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Decimal , #KB_Decimal )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Divide , #KB_Divide )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F1 , #KB_F1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F2 , #KB_F2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F3 , #KB_F3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F4 , #KB_F4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F5 , #KB_F5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F6 , #KB_F6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F7 , #KB_F7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F8 , #KB_F8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F9 , #KB_F9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F10 , #KB_F10 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F11 , #KB_F11 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F12 , #KB_F12 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F13 , #KB_F13 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F14 , #KB_F14 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F15 , #KB_F15 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F16 , #KB_F16 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F17 , #KB_F17 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F18 , #KB_F18 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F19 , #KB_F19 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F20 , #KB_F20 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F21 , #KB_F21 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F22 , #KB_F22 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F23 , #KB_F23 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_F24 , #KB_F24 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Numlock , #KB_Numlock )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Scroll , #KB_Scroll )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Tab , #KB_Shift_Tab )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Clear , #KB_Shift_Clear )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Return , #KB_Shift_Return )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Menu , #KB_Shift_Menu )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Pause , #KB_Shift_Pause )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Print , #KB_Shift_Print )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Capital , #KB_Shift_Capital )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Escape , #KB_Shift_Escape )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Space , #KB_Shift_Space )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Prior , #KB_Shift_Prior )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Next , #KB_Shift_Next )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_End , #KB_Shift_End )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Home , #KB_Shift_Home )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Left , #KB_Shift_Left )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Up , #KB_Shift_Up )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Right , #KB_Shift_Right )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Down , #KB_Shift_Down )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Select , #KB_Shift_Select )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Execute , #KB_Shift_Execute )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Snapshot , #KB_Shift_Snapshot )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Insert , #KB_Shift_Insert )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Delete , #KB_Shift_Delete )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Help , #KB_Shift_Help )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_0 , #KB_Shift_0 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_1 , #KB_Shift_1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_2 , #KB_Shift_2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_3 , #KB_Shift_3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_4 , #KB_Shift_4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_5 , #KB_Shift_5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_6 , #KB_Shift_6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_7 , #KB_Shift_7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_8 , #KB_Shift_8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_9 , #KB_Shift_9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_A , #KB_Shift_A )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_B , #KB_Shift_B )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_C , #KB_Shift_C )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_D , #KB_Shift_D )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_E , #KB_Shift_E )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F , #KB_Shift_F )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_G , #KB_Shift_G )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_H , #KB_Shift_H )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_I , #KB_Shift_I )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_J , #KB_Shift_J )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_K , #KB_Shift_K )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_L , #KB_Shift_L )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_M , #KB_Shift_M )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_N , #KB_Shift_N )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_O , #KB_Shift_O )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_P , #KB_Shift_P )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Q , #KB_Shift_Q )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_R , #KB_Shift_R )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_S , #KB_Shift_S )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_T , #KB_Shift_T )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_U , #KB_Shift_U )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_V , #KB_Shift_V )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_W , #KB_Shift_W )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_X , #KB_Shift_X )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Y , #KB_Shift_Y )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Z , #KB_Shift_Z )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_LeftWindows , #KB_Shift_LeftWindows )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_RightWindows , #KB_Shift_RightWindows )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Apps , #KB_Shift_Apps )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Pad0 , #KB_Shift_Pad0 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Pad1 , #KB_Shift_Pad1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Pad2 , #KB_Shift_Pad2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Pad3 , #KB_Shift_Pad3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Pad4 , #KB_Shift_Pad4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Pad5 , #KB_Shift_Pad5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Pad6 , #KB_Shift_Pad6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Pad7 , #KB_Shift_Pad7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Pad8 , #KB_Shift_Pad8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Pad9 , #KB_Shift_Pad9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Multiply , #KB_Shift_Multiply )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Add , #KB_Shift_Add )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Separator , #KB_Shift_Separator )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Subtract , #KB_Shift_Subtract )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Decimal , #KB_Shift_Decimal )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Divide , #KB_Shift_Divide )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F1 , #KB_Shift_F1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F2 , #KB_Shift_F2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F3 , #KB_Shift_F3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F4 , #KB_Shift_F4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F5 , #KB_Shift_F5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F6 , #KB_Shift_F6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F7 , #KB_Shift_F7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F8 , #KB_Shift_F8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F9 , #KB_Shift_F9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F10 , #KB_Shift_F10 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F11 , #KB_Shift_F11 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F12 , #KB_Shift_F12 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F13 , #KB_Shift_F13 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F14 , #KB_Shift_F14 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F15 , #KB_Shift_F15 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F16 , #KB_Shift_F16 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F17 , #KB_Shift_F17 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F18 , #KB_Shift_F18 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F19 , #KB_Shift_F19 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F20 , #KB_Shift_F20 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F21 , #KB_Shift_F21 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F22 , #KB_Shift_F22 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F23 , #KB_Shift_F23 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_F24 , #KB_Shift_F24 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Numlock , #KB_Shift_Numlock )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Shift|#PB_Shortcut_Scroll , #KB_Shift_Scroll )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Back , #KB_Ctrl_Back )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Tab , #KB_Ctrl_Tab )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Clear , #KB_Ctrl_Clear )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Return , #KB_Ctrl_Return )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Menu , #KB_Ctrl_Menu )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Pause , #KB_Ctrl_Pause )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Print , #KB_Ctrl_Print )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Capital , #KB_Ctrl_Capital )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Escape , #KB_Ctrl_Escape )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Space , #KB_Ctrl_Space )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Prior , #KB_Ctrl_Prior )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Next , #KB_Ctrl_Next )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_End , #KB_Ctrl_End )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Home , #KB_Ctrl_Home )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Left , #KB_Ctrl_Left )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Up , #KB_Ctrl_Up )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Right , #KB_Ctrl_Right )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Down , #KB_Ctrl_Down )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Select , #KB_Ctrl_Select )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Execute , #KB_Ctrl_Execute )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Snapshot , #KB_Ctrl_Snapshot )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Insert , #KB_Ctrl_Insert )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Delete , #KB_Ctrl_Delete )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Help , #KB_Ctrl_Help )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_0 , #KB_Ctrl_0 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_1 , #KB_Ctrl_1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_2 , #KB_Ctrl_2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_3 , #KB_Ctrl_3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_4 , #KB_Ctrl_4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_5 , #KB_Ctrl_5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_6 , #KB_Ctrl_6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_7 , #KB_Ctrl_7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_8 , #KB_Ctrl_8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_9 , #KB_Ctrl_9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_A , #KB_Ctrl_A )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_B , #KB_Ctrl_B )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_C , #KB_Ctrl_C )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_D , #KB_Ctrl_D )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_E , #KB_Ctrl_E )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F , #KB_Ctrl_F )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_G , #KB_Ctrl_G )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_H , #KB_Ctrl_H )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_I , #KB_Ctrl_I )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_J , #KB_Ctrl_J )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_K , #KB_Ctrl_K )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_L , #KB_Ctrl_L )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_M , #KB_Ctrl_M )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_N , #KB_Ctrl_N )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_O , #KB_Ctrl_O )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_P , #KB_Ctrl_P )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Q , #KB_Ctrl_Q )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_R , #KB_Ctrl_R )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_S , #KB_Ctrl_S )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_T , #KB_Ctrl_T )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_U , #KB_Ctrl_U )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_V , #KB_Ctrl_V )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_W , #KB_Ctrl_W )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_X , #KB_Ctrl_X )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Y , #KB_Ctrl_Y )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Z , #KB_Ctrl_Z )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_LeftWindows , #KB_Ctrl_LeftWindows )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_RightWindows , #KB_Ctrl_RightWindows )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Apps , #KB_Ctrl_Apps )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Pad0 , #KB_Ctrl_Pad0 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Pad1 , #KB_Ctrl_Pad1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Pad2 , #KB_Ctrl_Pad2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Pad3 , #KB_Ctrl_Pad3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Pad4 , #KB_Ctrl_Pad4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Pad5 , #KB_Ctrl_Pad5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Pad6 , #KB_Ctrl_Pad6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Pad7 , #KB_Ctrl_Pad7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Pad8 , #KB_Ctrl_Pad8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Pad9 , #KB_Ctrl_Pad9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Multiply , #KB_Ctrl_Multiply )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Add , #KB_Ctrl_Add )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Separator , #KB_Ctrl_Separator )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Subtract , #KB_Ctrl_Subtract )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Decimal , #KB_Ctrl_Decimal )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Divide , #KB_Ctrl_Divide )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F1 , #KB_Ctrl_F1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F2 , #KB_Ctrl_F2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F3 , #KB_Ctrl_F3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F4 , #KB_Ctrl_F4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F5 , #KB_Ctrl_F5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F6 , #KB_Ctrl_F6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F7 , #KB_Ctrl_F7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F8 , #KB_Ctrl_F8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F9 , #KB_Ctrl_F9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F10 , #KB_Ctrl_F10 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F11 , #KB_Ctrl_F11 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F12 , #KB_Ctrl_F12 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F13 , #KB_Ctrl_F13 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F14 , #KB_Ctrl_F14 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F15 , #KB_Ctrl_F15 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F16 , #KB_Ctrl_F16 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F17 , #KB_Ctrl_F17 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F18 , #KB_Ctrl_F18 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F19 , #KB_Ctrl_F19 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F20 , #KB_Ctrl_F20 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F21 , #KB_Ctrl_F21 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F22 , #KB_Ctrl_F22 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F23 , #KB_Ctrl_F23 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_F24 , #KB_Ctrl_F24 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Numlock , #KB_Ctrl_Numlock )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Scroll , #KB_Ctrl_Scroll )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Back , #KB_Alt_Back )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Tab , #KB_Alt_Tab )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Clear , #KB_Alt_Clear )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Return , #KB_Alt_Return )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Menu , #KB_Alt_Menu )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Pause , #KB_Alt_Pause )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Print , #KB_Alt_Print )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Capital , #KB_Alt_Capital )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Escape , #KB_Alt_Escape )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Space , #KB_Alt_Space )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Prior , #KB_Alt_Prior )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Next , #KB_Alt_Next )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_End , #KB_Alt_End )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Home , #KB_Alt_Home )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Left , #KB_Alt_Left )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Up , #KB_Alt_Up )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Right , #KB_Alt_Right )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Down , #KB_Alt_Down )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Select , #KB_Alt_Select )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Execute , #KB_Alt_Execute )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Snapshot , #KB_Alt_Snapshot )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Insert , #KB_Alt_Insert )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Delete , #KB_Alt_Delete )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Help , #KB_Alt_Help )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_0 , #KB_Alt_0 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_1 , #KB_Alt_1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_2 , #KB_Alt_2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_3 , #KB_Alt_3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_4 , #KB_Alt_4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_5 , #KB_Alt_5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_6 , #KB_Alt_6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_7 , #KB_Alt_7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_8 , #KB_Alt_8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_9 , #KB_Alt_9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_A , #KB_Alt_A )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_B , #KB_Alt_B )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_C , #KB_Alt_C )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_D , #KB_Alt_D )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_E , #KB_Alt_E )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F , #KB_Alt_F )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_G , #KB_Alt_G )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_H , #KB_Alt_H )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_I , #KB_Alt_I )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_J , #KB_Alt_J )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_K , #KB_Alt_K )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_L , #KB_Alt_L )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_M , #KB_Alt_M )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_N , #KB_Alt_N )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_O , #KB_Alt_O )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_P , #KB_Alt_P )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Q , #KB_Alt_Q )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_R , #KB_Alt_R )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_S , #KB_Alt_S )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_T , #KB_Alt_T )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_U , #KB_Alt_U )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_V , #KB_Alt_V )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_W , #KB_Alt_W )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_X , #KB_Alt_X )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Y , #KB_Alt_Y )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Z , #KB_Alt_Z )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_LeftWindows , #KB_Alt_LeftWindows )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_RightWindows , #KB_Alt_RightWindows )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Apps , #KB_Alt_Apps )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Pad0 , #KB_Alt_Pad0 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Pad1 , #KB_Alt_Pad1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Pad2 , #KB_Alt_Pad2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Pad3 , #KB_Alt_Pad3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Pad4 , #KB_Alt_Pad4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Pad5 , #KB_Alt_Pad5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Pad6 , #KB_Alt_Pad6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Pad7 , #KB_Alt_Pad7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Pad8 , #KB_Alt_Pad8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Pad9 , #KB_Alt_Pad9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Multiply , #KB_Alt_Multiply )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Add , #KB_Alt_Add )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Separator , #KB_Alt_Separator )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Subtract , #KB_Alt_Subtract )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Decimal , #KB_Alt_Decimal )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Divide , #KB_Alt_Divide )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F1 , #KB_Alt_F1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F2 , #KB_Alt_F2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F3 , #KB_Alt_F3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F4 , #KB_Alt_F4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F5 , #KB_Alt_F5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F6 , #KB_Alt_F6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F7 , #KB_Alt_F7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F8 , #KB_Alt_F8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F9 , #KB_Alt_F9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F10 , #KB_Alt_F10 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F11 , #KB_Alt_F11 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F12 , #KB_Alt_F12 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F13 , #KB_Alt_F13 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F14 , #KB_Alt_F14 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F15 , #KB_Alt_F15 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F16 , #KB_Alt_F16 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F17 , #KB_Alt_F17 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F18 , #KB_Alt_F18 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F19 , #KB_Alt_F19 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F20 , #KB_Alt_F20 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F21 , #KB_Alt_F21 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F22 , #KB_Alt_F22 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F23 , #KB_Alt_F23 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_F24 , #KB_Alt_F24 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Numlock , #KB_Alt_Numlock )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Alt|#PB_Shortcut_Scroll , #KB_Alt_Scroll )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Back , #KB_Ctrl_Shift_Back )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Tab , #KB_Ctrl_Shift_Tab )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Clear , #KB_Ctrl_Shift_Clear )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Return , #KB_Ctrl_Shift_Return )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Menu , #KB_Ctrl_Shift_Menu )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Pause , #KB_Ctrl_Shift_Pause )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Print , #KB_Ctrl_Shift_Print )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Capital , #KB_Ctrl_Shift_Capital )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Escape , #KB_Ctrl_Shift_Escape )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Space , #KB_Ctrl_Shift_Space )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Prior , #KB_Ctrl_Shift_Prior )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Next , #KB_Ctrl_Shift_Next )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_End , #KB_Ctrl_Shift_End )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Home , #KB_Ctrl_Shift_Home )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Left , #KB_Ctrl_Shift_Left )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Up , #KB_Ctrl_Shift_Up )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Right , #KB_Ctrl_Shift_Right )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Down , #KB_Ctrl_Shift_Down )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Select , #KB_Ctrl_Shift_Select )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Execute , #KB_Ctrl_Shift_Execute )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Snapshot , #KB_Ctrl_Shift_Snapshot )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Insert , #KB_Ctrl_Shift_Insert )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Delete , #KB_Ctrl_Shift_Delete )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Help , #KB_Ctrl_Shift_Help )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_0 , #KB_Ctrl_Shift_0 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_1 , #KB_Ctrl_Shift_1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_2 , #KB_Ctrl_Shift_2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_3 , #KB_Ctrl_Shift_3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_4 , #KB_Ctrl_Shift_4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_5 , #KB_Ctrl_Shift_5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_6 , #KB_Ctrl_Shift_6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_7 , #KB_Ctrl_Shift_7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_8 , #KB_Ctrl_Shift_8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_9 , #KB_Ctrl_Shift_9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_A , #KB_Ctrl_Shift_A )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_B , #KB_Ctrl_Shift_B )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_C , #KB_Ctrl_Shift_C )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_D , #KB_Ctrl_Shift_D )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_E , #KB_Ctrl_Shift_E )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F , #KB_Ctrl_Shift_F )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_G , #KB_Ctrl_Shift_G )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_H , #KB_Ctrl_Shift_H )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_I , #KB_Ctrl_Shift_I )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_J , #KB_Ctrl_Shift_J )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_K , #KB_Ctrl_Shift_K )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_L , #KB_Ctrl_Shift_L )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_M , #KB_Ctrl_Shift_M )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_N , #KB_Ctrl_Shift_N )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_O , #KB_Ctrl_Shift_O )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_P , #KB_Ctrl_Shift_P )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Q , #KB_Ctrl_Shift_Q )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_R , #KB_Ctrl_Shift_R )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_S , #KB_Ctrl_Shift_S )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_T , #KB_Ctrl_Shift_T )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_U , #KB_Ctrl_Shift_U )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_V , #KB_Ctrl_Shift_V )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_W , #KB_Ctrl_Shift_W )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_X , #KB_Ctrl_Shift_X )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Y , #KB_Ctrl_Shift_Y )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Z , #KB_Ctrl_Shift_Z )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_LeftWindows , #KB_Ctrl_Shift_LeftWindows )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_RightWindows , #KB_Ctrl_Shift_RightWindows )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Apps , #KB_Ctrl_Shift_Apps )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Pad0 , #KB_Ctrl_Shift_Pad0 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Pad1 , #KB_Ctrl_Shift_Pad1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Pad2 , #KB_Ctrl_Shift_Pad2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Pad3 , #KB_Ctrl_Shift_Pad3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Pad4 , #KB_Ctrl_Shift_Pad4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Pad5 , #KB_Ctrl_Shift_Pad5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Pad6 , #KB_Ctrl_Shift_Pad6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Pad7 , #KB_Ctrl_Shift_Pad7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Pad8 , #KB_Ctrl_Shift_Pad8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Pad9 , #KB_Ctrl_Shift_Pad9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Multiply , #KB_Ctrl_Shift_Multiply )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Add , #KB_Ctrl_Shift_Add )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Separator , #KB_Ctrl_Shift_Separator )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Subtract , #KB_Ctrl_Shift_Subtract )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Decimal , #KB_Ctrl_Shift_Decimal )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Divide , #KB_Ctrl_Shift_Divide )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F1 , #KB_Ctrl_Shift_F1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F2 , #KB_Ctrl_Shift_F2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F3 , #KB_Ctrl_Shift_F3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F4 , #KB_Ctrl_Shift_F4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F5 , #KB_Ctrl_Shift_F5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F6 , #KB_Ctrl_Shift_F6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F7 , #KB_Ctrl_Shift_F7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F8 , #KB_Ctrl_Shift_F8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F9 , #KB_Ctrl_Shift_F9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F10 , #KB_Ctrl_Shift_F10 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F11 , #KB_Ctrl_Shift_F11 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F12 , #KB_Ctrl_Shift_F12 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F13 , #KB_Ctrl_Shift_F13 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F14 , #KB_Ctrl_Shift_F14 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F15 , #KB_Ctrl_Shift_F15 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F16 , #KB_Ctrl_Shift_F16 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F17 , #KB_Ctrl_Shift_F17 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F18 , #KB_Ctrl_Shift_F18 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F19 , #KB_Ctrl_Shift_F19 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F20 , #KB_Ctrl_Shift_F20 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F21 , #KB_Ctrl_Shift_F21 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F22 , #KB_Ctrl_Shift_F22 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F23 , #KB_Ctrl_Shift_F23 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_F24 , #KB_Ctrl_Shift_F24 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Numlock , #KB_Ctrl_Shift_Numlock )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Shift|#PB_Shortcut_Scroll , #KB_Ctrl_Shift_Scroll ) 

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Posted: Mon Feb 06, 2012 9:41 am
by Randy Walker

Code: Select all

      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Back , #KB_Ctrl_Alt_Back )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Tab , #KB_Ctrl_Alt_Tab )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Clear , #KB_Ctrl_Alt_Clear )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Return , #KB_Ctrl_Alt_Return )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Menu , #KB_Ctrl_Alt_Menu )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Pause , #KB_Ctrl_Alt_Pause )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Print , #KB_Ctrl_Alt_Print )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Capital , #KB_Ctrl_Alt_Capital )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Escape , #KB_Ctrl_Alt_Escape )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Space , #KB_Ctrl_Alt_Space )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Prior , #KB_Ctrl_Alt_Prior )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Next , #KB_Ctrl_Alt_Next )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_End , #KB_Ctrl_Alt_End )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Home , #KB_Ctrl_Alt_Home )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Left , #KB_Ctrl_Alt_Left )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Up , #KB_Ctrl_Alt_Up )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Right , #KB_Ctrl_Alt_Right )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Down , #KB_Ctrl_Alt_Down )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Select , #KB_Ctrl_Alt_Select )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Execute , #KB_Ctrl_Alt_Execute )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Snapshot , #KB_Ctrl_Alt_Snapshot )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Insert , #KB_Ctrl_Alt_Insert )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Delete , #KB_Ctrl_Alt_Delete )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Help , #KB_Ctrl_Alt_Help )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_0 , #KB_Ctrl_Alt_0 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_1 , #KB_Ctrl_Alt_1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_2 , #KB_Ctrl_Alt_2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_3 , #KB_Ctrl_Alt_3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_4 , #KB_Ctrl_Alt_4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_5 , #KB_Ctrl_Alt_5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_6 , #KB_Ctrl_Alt_6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_7 , #KB_Ctrl_Alt_7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_8 , #KB_Ctrl_Alt_8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_9 , #KB_Ctrl_Alt_9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_A , #KB_Ctrl_Alt_A )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_B , #KB_Ctrl_Alt_B )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_C , #KB_Ctrl_Alt_C )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_D , #KB_Ctrl_Alt_D )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_E , #KB_Ctrl_Alt_E )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F , #KB_Ctrl_Alt_F )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_G , #KB_Ctrl_Alt_G )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_H , #KB_Ctrl_Alt_H )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_I , #KB_Ctrl_Alt_I )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_J , #KB_Ctrl_Alt_J )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_K , #KB_Ctrl_Alt_K )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_L , #KB_Ctrl_Alt_L )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_M , #KB_Ctrl_Alt_M )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_N , #KB_Ctrl_Alt_N )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_O , #KB_Ctrl_Alt_O )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_P , #KB_Ctrl_Alt_P )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Q , #KB_Ctrl_Alt_Q )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_R , #KB_Ctrl_Alt_R )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_S , #KB_Ctrl_Alt_S )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_T , #KB_Ctrl_Alt_T )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_U , #KB_Ctrl_Alt_U )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_V , #KB_Ctrl_Alt_V )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_W , #KB_Ctrl_Alt_W )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_X , #KB_Ctrl_Alt_X )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Y , #KB_Ctrl_Alt_Y )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Z , #KB_Ctrl_Alt_Z )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_LeftWindows , #KB_Ctrl_Alt_LeftWindows )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_RightWindows , #KB_Ctrl_Alt_RightWindows )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Apps , #KB_Ctrl_Alt_Apps )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Pad0 , #KB_Ctrl_Alt_Pad0 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Pad1 , #KB_Ctrl_Alt_Pad1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Pad2 , #KB_Ctrl_Alt_Pad2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Pad3 , #KB_Ctrl_Alt_Pad3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Pad4 , #KB_Ctrl_Alt_Pad4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Pad5 , #KB_Ctrl_Alt_Pad5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Pad6 , #KB_Ctrl_Alt_Pad6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Pad7 , #KB_Ctrl_Alt_Pad7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Pad8 , #KB_Ctrl_Alt_Pad8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Pad9 , #KB_Ctrl_Alt_Pad9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Multiply , #KB_Ctrl_Alt_Multiply )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Add , #KB_Ctrl_Alt_Add )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Separator , #KB_Ctrl_Alt_Separator )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Subtract , #KB_Ctrl_Alt_Subtract )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Decimal , #KB_Ctrl_Alt_Decimal )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Divide , #KB_Ctrl_Alt_Divide )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F1 , #KB_Ctrl_Alt_F1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F2 , #KB_Ctrl_Alt_F2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F3 , #KB_Ctrl_Alt_F3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F4 , #KB_Ctrl_Alt_F4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F5 , #KB_Ctrl_Alt_F5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F6 , #KB_Ctrl_Alt_F6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F7 , #KB_Ctrl_Alt_F7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F8 , #KB_Ctrl_Alt_F8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F9 , #KB_Ctrl_Alt_F9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F10 , #KB_Ctrl_Alt_F10 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F11 , #KB_Ctrl_Alt_F11 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F12 , #KB_Ctrl_Alt_F12 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F13 , #KB_Ctrl_Alt_F13 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F14 , #KB_Ctrl_Alt_F14 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F15 , #KB_Ctrl_Alt_F15 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F16 , #KB_Ctrl_Alt_F16 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F17 , #KB_Ctrl_Alt_F17 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F18 , #KB_Ctrl_Alt_F18 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F19 , #KB_Ctrl_Alt_F19 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F20 , #KB_Ctrl_Alt_F20 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F21 , #KB_Ctrl_Alt_F21 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F22 , #KB_Ctrl_Alt_F22 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F23 , #KB_Ctrl_Alt_F23 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_F24 , #KB_Ctrl_Alt_F24 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Numlock , #KB_Ctrl_Alt_Numlock )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Scroll , #KB_Ctrl_Alt_Scroll )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Back , #KB_Ctrl_Alt_Shift_Back )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Tab , #KB_Ctrl_Alt_Shift_Tab )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Clear , #KB_Ctrl_Alt_Shift_Clear )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Return , #KB_Ctrl_Alt_Shift_Return )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Menu , #KB_Ctrl_Alt_Shift_Menu )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Pause , #KB_Ctrl_Alt_Shift_Pause )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Print , #KB_Ctrl_Alt_Shift_Print )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Capital , #KB_Ctrl_Alt_Shift_Capital )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Escape , #KB_Ctrl_Alt_Shift_Escape )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Space , #KB_Ctrl_Alt_Shift_Space )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Prior , #KB_Ctrl_Alt_Shift_Prior )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Next , #KB_Ctrl_Alt_Shift_Next )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_End , #KB_Ctrl_Alt_Shift_End )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Home , #KB_Ctrl_Alt_Shift_Home )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Left , #KB_Ctrl_Alt_Shift_Left )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Up , #KB_Ctrl_Alt_Shift_Up )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Right , #KB_Ctrl_Alt_Shift_Right )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Down , #KB_Ctrl_Alt_Shift_Down )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Select , #KB_Ctrl_Alt_Shift_Select )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Execute , #KB_Ctrl_Alt_Shift_Execute )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Snapshot , #KB_Ctrl_Alt_Shift_Snapshot )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Insert , #KB_Ctrl_Alt_Shift_Insert )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Delete , #KB_Ctrl_Alt_Shift_Delete )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Help , #KB_Ctrl_Alt_Shift_Help )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_0 , #KB_Ctrl_Alt_Shift_0 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_1 , #KB_Ctrl_Alt_Shift_1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_2 , #KB_Ctrl_Alt_Shift_2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_3 , #KB_Ctrl_Alt_Shift_3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_4 , #KB_Ctrl_Alt_Shift_4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_5 , #KB_Ctrl_Alt_Shift_5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_6 , #KB_Ctrl_Alt_Shift_6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_7 , #KB_Ctrl_Alt_Shift_7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_8 , #KB_Ctrl_Alt_Shift_8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_9 , #KB_Ctrl_Alt_Shift_9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_A , #KB_Ctrl_Alt_Shift_A )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_B , #KB_Ctrl_Alt_Shift_B )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_C , #KB_Ctrl_Alt_Shift_C )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_D , #KB_Ctrl_Alt_Shift_D )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_E , #KB_Ctrl_Alt_Shift_E )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F , #KB_Ctrl_Alt_Shift_F )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_G , #KB_Ctrl_Alt_Shift_G )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_H , #KB_Ctrl_Alt_Shift_H )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_I , #KB_Ctrl_Alt_Shift_I )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_J , #KB_Ctrl_Alt_Shift_J )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_K , #KB_Ctrl_Alt_Shift_K )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_L , #KB_Ctrl_Alt_Shift_L )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_M , #KB_Ctrl_Alt_Shift_M )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_N , #KB_Ctrl_Alt_Shift_N )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_O , #KB_Ctrl_Alt_Shift_O )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_P , #KB_Ctrl_Alt_Shift_P )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Q , #KB_Ctrl_Alt_Shift_Q )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_R , #KB_Ctrl_Alt_Shift_R )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_S , #KB_Ctrl_Alt_Shift_S )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_T , #KB_Ctrl_Alt_Shift_T )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_U , #KB_Ctrl_Alt_Shift_U )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_V , #KB_Ctrl_Alt_Shift_V )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_W , #KB_Ctrl_Alt_Shift_W )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_X , #KB_Ctrl_Alt_Shift_X )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Y , #KB_Ctrl_Alt_Shift_Y )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Z , #KB_Ctrl_Alt_Shift_Z )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_LeftWindows , #KB_Ctrl_Alt_Shift_LeftWindows )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_RightWindows , #KB_Ctrl_Alt_Shift_RightWindows )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Apps , #KB_Ctrl_Alt_Shift_Apps )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Pad0 , #KB_Ctrl_Alt_Shift_Pad0 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Pad1 , #KB_Ctrl_Alt_Shift_Pad1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Pad2 , #KB_Ctrl_Alt_Shift_Pad2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Pad3 , #KB_Ctrl_Alt_Shift_Pad3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Pad4 , #KB_Ctrl_Alt_Shift_Pad4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Pad5 , #KB_Ctrl_Alt_Shift_Pad5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Pad6 , #KB_Ctrl_Alt_Shift_Pad6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Pad7 , #KB_Ctrl_Alt_Shift_Pad7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Pad8 , #KB_Ctrl_Alt_Shift_Pad8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Pad9 , #KB_Ctrl_Alt_Shift_Pad9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Multiply , #KB_Ctrl_Alt_Shift_Multiply )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Add , #KB_Ctrl_Alt_Shift_Add )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Separator , #KB_Ctrl_Alt_Shift_Separator )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Subtract , #KB_Ctrl_Alt_Shift_Subtract )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Decimal , #KB_Ctrl_Alt_Shift_Decimal )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Divide , #KB_Ctrl_Alt_Shift_Divide )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F1 , #KB_Ctrl_Alt_Shift_F1 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F2 , #KB_Ctrl_Alt_Shift_F2 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F3 , #KB_Ctrl_Alt_Shift_F3 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F4 , #KB_Ctrl_Alt_Shift_F4 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F5 , #KB_Ctrl_Alt_Shift_F5 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F6 , #KB_Ctrl_Alt_Shift_F6 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F7 , #KB_Ctrl_Alt_Shift_F7 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F8 , #KB_Ctrl_Alt_Shift_F8 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F9 , #KB_Ctrl_Alt_Shift_F9 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F10 , #KB_Ctrl_Alt_Shift_F10 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F11 , #KB_Ctrl_Alt_Shift_F11 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F12 , #KB_Ctrl_Alt_Shift_F12 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F13 , #KB_Ctrl_Alt_Shift_F13 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F14 , #KB_Ctrl_Alt_Shift_F14 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F15 , #KB_Ctrl_Alt_Shift_F15 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F16 , #KB_Ctrl_Alt_Shift_F16 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F17 , #KB_Ctrl_Alt_Shift_F17 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F18 , #KB_Ctrl_Alt_Shift_F18 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F19 , #KB_Ctrl_Alt_Shift_F19 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F20 , #KB_Ctrl_Alt_Shift_F20 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F21 , #KB_Ctrl_Alt_Shift_F21 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F22 , #KB_Ctrl_Alt_Shift_F22 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F23 , #KB_Ctrl_Alt_Shift_F23 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_F24 , #KB_Ctrl_Alt_Shift_F24 )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Numlock , #KB_Ctrl_Alt_Shift_Numlock )
      AddKeyboardShortcut(pbWnd.l, #PB_Shortcut_Control|#PB_Shortcut_Alt|#PB_Shortcut_Shift|#PB_Shortcut_Scroll , #KB_Ctrl_Alt_Shift_Scroll )
    EndIf
  Next
EndProcedure


; AND THIS CONCLUDES ALL THE PRELIMINATRY NON-SENSE LINKING OF WHAT MIGHT BE INTERPRETED
; AS PSEUDO KEYBOARD CODES TO SOME OTHER **KEYBOARD CODES THAT ALREADY EXIST**, AND THIS
; MIGHT BE A GOOD PLACE FOR YOU TO CUT THE ABOVE CODE OUT AND PLACE IT INTO AN INCLUDE
; FILE SO YOU WILL LATER BE ABLE TO MONITOR USER KEYBOARD ACTICVITY WITH THE USE OF
; THIS REDICULOUS WORKARAOUND IN ANY APPLICATION OF YOUR CHOSING :) 

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Posted: Mon Feb 06, 2012 9:41 am
by Randy Walker

Code: Select all

; The following is a short sample illustrating how the [Return] key (or any other key)
; can be monitored with the greatest of ease (I'm totally gagging now that I said that).
; Seriously, the code below is quite simple to follow and/or modify to suit your needs.
; If nothing else, I think you will agree it provides a very nice program template.

Global Event.l, eventg.l, lastW.l, liveWin.l, activeg.l

Enumeration ; gadgets
  #Window0_String_1 = 0
  #Window0_Button_1
  #Window0_Button_2
  #Window0_Text_1
  
  #Window1_String_1
  #Window1_Button_1
  #Window1_Button_2
  #Window1_Text_1
  
  #Window2_String_1
  #Window2_Button_1
  #Window2_Button_2
  
  #Window3_String_1
  #Window3_Button_1
  #Window3_Button_2
EndEnumeration


Procedure TranslateToGadget()
  ; 'eventg &' can be used against the following constants to watch for only those keys:
  ; #K_Shift ; Test value for Shift Key
  ; #K_Ctrl  ; Test value for Control Key
  ; #K_Alt   ; Test value for Alt Key
  
  ; This is just a demo
  ; You might want to add something in here to restrict to specific gadgets:
  Select eventg
    Case #KB_Return
      Debug GetGadgetText(activeg)
      MessageRequester("                           Haaahh!!", "                :o  Look at that!!!!" + Chr(10) + Chr(10) + "   A *NOISY* Carriage Return inside:" + Chr(10) + "                      window #" + Str(liveWin) + Chr(10) + Chr(10) + "... but a CR *detected* nonetheless.   ")
    Case #KB_A To #KB_Z
      SetGadgetText(activeg,(GetGadgetText(activeg)+LCase(Chr(eventg & $FF))))
    Case #KB_Shift_A To #KB_Shift_Z
      SetGadgetText(activeg,(GetGadgetText(activeg)+Chr(eventg & $FF)))
    Case #KB_Back, #KB_Delete
      SetGadgetText(activeg,(Left(GetGadgetText(activeg),Len(GetGadgetText(activeg))-1)))
    Case #KB_Escape
      SetGadgetText(activeg,"")
    Case #KB_Ctrl_X ; Clipboard CUT
      SetClipboardText(GetGadgetText(activeg))
      SetGadgetText(activeg,"")
    Case #KB_Ctrl_C ; Clipboard COPY
      SetClipboardText(GetGadgetText(activeg))
    Case #KB_Ctrl_V ; Clipboard PASTE
      SetGadgetText(activeg,GetClipboardText())
  EndSelect
EndProcedure

Procedure CommonToAll_PRE_Processing()
  ; If event processing is done for *ANY* window, DO THIS *FIRST*...
  ; Put anything here that needs to be updated *before* any window processing occurs.
  ; Not the same as GlobalTasking() (which is not dependent on window activity).
  If lastW <> liveWin
    Debug "changed"
  EndIf
EndProcedure

Procedure CommonToAll_POST_Processing()
  ; If event processing is done for *ANY* window, DO THIS *LAST*...
  ; Put anything here that needs to be updated *after* any window processing occurs.
  ; Not the same as GlobalTasking() (which is not dependent on window activity).
  lastW.l = liveWin.l ; << Tracking "top window" in this application only.
EndProcedure

Procedure ProcessWindow_0()
  CommonToAll_PRE_Processing()
  Select Event
    Case #WM_RBUTTONDOWN       ; right mouse button was clicked =>
      DisplayPopupMenu(0, WindowID(0))  ; now display the popup-menu
    Case #PB_Event_Menu     ; a shortcut key or popup-menu was clicked
      Select eventg         ; so respond to the clicked menu item...
        Case 49152 To 64000
          TranslateToGadget()
        Case 1 : Debug "Menu: Open"
        Case 2 : Debug "Menu: Save"
        Case 3 : Debug "Menu: Save as"
        Case 4 : Debug "Menu: Quit"
          Event = #PB_Event_CloseWindow
        Case 5 : Debug "Menu: PureBasic.exe"
        Case 6 : Debug "Menu: Text.txt"
        Default
      EndSelect
    Case #PB_Event_Gadget
      Select eventg
        Case #KB_Return
          Debug "Return came from Gadget Event"
        Case #Window0_String_1
        Case #Window0_Button_1
          SetActiveGadget(#Window0_String_1)
          HideWindow(1,0)
          SetActiveWindow(1)
        Case #Window0_Button_2
          Event = #PB_Event_CloseWindow
      EndSelect
  EndSelect
  CommonToAll_POST_Processing()
EndProcedure


Procedure ProcessWindow_1()
  CommonToAll_PRE_Processing()
  Select Event
    Case #PB_Event_CloseWindow
      Event = 0
      HideWindow(1,1)
      SetActiveWindow(2)
    Case #WM_RBUTTONDOWN       ; right mouse button was clicked =>
      DisplayPopupMenu(1, WindowID(1))  ; now display the popup-menu
    Case #PB_Event_Menu
      Select eventg
        Case 49152 To 64000
          TranslateToGadget()
        Case 1 : Debug "Menu: Jump"
        Case 2 : Debug "Menu: Run"
        Case 3 : Debug "Menu: Quit"
          Event = #PB_Event_CloseWindow
      EndSelect
    Case #PB_Event_Gadget
      Select eventg
        Case #KB_Return
          Debug "Return came from Gadget Event"
        Case #Window1_String_1
        Case #Window1_Button_1
          SetActiveGadget(#Window1_String_1)
          HideWindow(2,0)
          SetActiveWindow(2)
        Case #Window1_Button_2
          SetActiveGadget(#Window1_String_1)
          HideWindow(1,1)
      EndSelect
  EndSelect
  CommonToAll_POST_Processing()
EndProcedure


Procedure ProcessWindow_2()
  CommonToAll_PRE_Processing()
  Select Event
    Case #PB_Event_CloseWindow
      Event = 0
      HideWindow(2,1)
      SetActiveWindow(3)
    Case #PB_Event_Menu
      Select eventg
        Case 49152 To 64000
          TranslateToGadget()
      EndSelect
    Case #PB_Event_Gadget
      Select eventg
        Case #KB_Return
          Debug "Return came from Gadget Event"
        Case #Window2_String_1
        Case #Window2_Button_1
          SetActiveGadget(#Window2_String_1)
          HideWindow(3,0)
          SetActiveWindow(3)
        Case #Window2_Button_2
          SetActiveGadget(#Window2_String_1)
          HideWindow(2,1)
      EndSelect
  EndSelect
  CommonToAll_POST_Processing()
EndProcedure


Procedure ProcessWindow_3()
  CommonToAll_PRE_Processing()
  Select Event
    Case #PB_Event_CloseWindow
      Event = 0
      HideWindow(3,1)
      SetActiveWindow(0)
    Case #PB_Event_Menu
      Select eventg
        Case 49152 To 64000
          TranslateToGadget()
      EndSelect
    Case #PB_Event_Gadget
      Select eventg
        Case #KB_Return
          Debug "Return came from Gadget Event"
        Case #Window2_String_1
        Case #Window3_Button_1
          SetActiveGadget(#Window3_String_1)
          HideWindow(0,0)
          SetActiveWindow(0)
        Case #Window3_Button_2
          SetActiveGadget(#Window3_String_1)
          HideWindow(3,1)
      EndSelect
  EndSelect
  CommonToAll_POST_Processing()
EndProcedure


Procedure GlobalTasking()
  ; Whatever background tasks you need go here.
  ; Example: update clock in all windows... etc, etc, etc ...
  ; You might want to modify the WaitWindowEvent() like this to update every second:
  ;         Event = WaitWindowEvent(1000)
EndProcedure

;                       - end of procedures -
; ###################################################################
; \/   \/   \/   \/   \/   \/   \/   \/   \/   \/   \/   \/   \/   \/
;
;           CREATE WINDOWS AND COMMENCE MAIN LOOP PROCESSING

If OpenWindow(0, 50, 50, 195, 260, "MAIN Window 0", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
  StringGadget(#Window0_String_1, 10,10,180,20,"")
  ButtonGadget(#Window0_Button_1, 10,40,110,20,"Show Window 1")
  ButtonGadget(#Window0_Button_2, 10,130,150,20,"Terminate Program")
  TextGadget(#Window0_Text_1, 10,85,180,20, "RightClick this window", #PB_Text_Center)
  SetActiveGadget(#Window0_String_1)
  
  If CreatePopupMenu(0)      ; creation of the pop-up menu begins...
    MenuItem(1, "Open")      ; You can use all commands for creating a menu
    MenuItem(2, "Save")      ; just like in a normal menu...
    MenuItem(3, "Save as")
    MenuItem(4, "Quit")
    MenuBar()
    OpenSubMenu("Recent files")
      MenuItem(5, "PureBasic.exe")
      MenuItem(6, "Test.txt")
    CloseSubMenu()
    
    If OpenWindow(1, 180, 150, 195, 260, "PureBasic Window 1", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
      StringGadget(#Window1_String_1, 10,10,180,20,"")
      ButtonGadget(#Window1_Button_1, 10,40,110,20,"Show Window 2")
      ButtonGadget(#Window1_Button_2, 10,130,70,20,"Close")
      TextGadget(#Window1_Text_1, 10,85,180,20, "RightClick this window", #PB_Text_Center)
      SetActiveGadget(#Window1_String_1)
      
      If CreatePopupMenu(1)      ; creation of the pop-up menu begins...
        MenuItem(1, "Jump")      ; You can use all commands for creating a menu
        MenuItem(2, "Run")      ; just like in a normal menu...
        MenuItem(3, "Quit")
        
        If OpenWindow(2, 260, 240, 195, 260, "PureBasic Window 2", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
          StringGadget(#Window2_String_1, 10,10,180,20,"")
          ButtonGadget(#Window2_Button_1, 10,40,110,20,"Show Window 3")
          ButtonGadget(#Window2_Button_2, 10,130,70,20,"Close")
          SetActiveGadget(#Window2_String_1)
          
          If OpenWindow(3, 350, 330, 195, 260, "PureBasic Window 3", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
            StringGadget(#Window3_String_1, 10,10,180,20,"")
            ButtonGadget(#Window3_Button_1, 10,40,110,20,"Show Window 0")
            ButtonGadget(#Window3_Button_2, 10,130,70,20,"Close")
            SetActiveGadget(#Window3_String_1)
            
            ; ^ ^ ^ ABORT THE MOMENT ANY WINDOW FAILS TO INITIALIZE ^ ^ ^
            
            
            ; ONE LAST REFERENCE TO REDICULOUS WORKARAOUND CODE HERE ON THIS NEXT CALL JUST SO THE
            ; PROGRAM WILL BE ABLE TO MONITOR PREVELENT BUT OTHERWISE TERRIBLY COMMON KEY ACTICVITY
            ShouldNotHaveToDoThisBut_ApplyWorkaroundCodesToAllTheWindowsAnywaySoYouCanCatchCarriageReturnOrAnyOtherKeyYouMayNeed()
            SetActiveWindow(0)
            
            ; ONE 'WaitWindowEvent' LOOP TO MANAGE ALL WINDOWS
            Repeat
              Event = WaitWindowEvent()   ; Global 'Event' and 'eventg' variables are easily
              eventg = EventGadget()      ; monitored inside the personalized window handling
              liveWin = GetActiveWindow() ; subroutines listedd here in the main loop. 
              activeg = GetActiveGadget()
              Select liveWin 
                Case 0
                  ProcessWindow_0()
                Case 1
                  ProcessWindow_1()
                Case 2
                  ProcessWindow_2()
                Case 3
                  ProcessWindow_3()
              EndSelect
              GlobalTasking()
            Until Event = #PB_Event_CloseWindow
          EndIf
        EndIf
      EndIf
    EndIf
  EndIf
EndIf

End   ; All the opened windows are closed automatically by PureBasic 

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Posted: Mon Feb 06, 2012 9:43 am
by Randy Walker
COPY CODE FROM MY FIRST 4 POSTS INTO ONE IDE WINDOW FOR DEMO OPERATION

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Posted: Mon Feb 06, 2012 10:43 am
by remi_meier
Just another stupid solution that might work for some:

Code: Select all

CompilerSelect #PB_Compiler_OS
  CompilerCase #PB_OS_Linux
    #ENTER_ = #LF$
  CompilerCase #PB_OS_MacOS
    #ENTER_ = #CR$
  CompilerCase #PB_OS_Windows
    #ENTER_ = #CRLF$
  CompilerDefault
    CompilerError "huh?"
CompilerEndSelect


If OpenWindow(0, 0, 0, 322, 150, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  EditorGadget(0, 8, 8, 306, 133)
  
  Repeat
    event = WaitWindowEvent()
    If event = #PB_Event_Gadget
      If EventGadget() = 0
        If FindString(GetGadgetText(0), #ENTER_) <> 0
          Debug "enter"
          SetGadgetText(0, ReplaceString(GetGadgetText(0), #ENTER_, ""))
        EndIf
      EndIf
    EndIf 
    
  Until event = #PB_Event_CloseWindow
EndIf
(only tested on Linux, uses EditorGadget(), modifies
cursor position on RETURN)

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Posted: Mon Feb 06, 2012 11:23 am
by Randy Walker
remi_meier wrote:Just another stupid solution that might work for some:....
(only tested on Linux, uses EditorGadget(), modifies
cursor position on RETURN)
Tested your code and get results identical to yours. Thanks for the post remi_meier!!

Traditionally always avoided EditorGadget because the way double click behavior on text. Telephone numbers and IP addesses in particular. Moot point I guess, now that StringGadget behavior changed somewhere after v4.20
viewtopic.php?f=13&t=48178&sid=6a8a394b ... cc#p366376
Super cool distinction between Editor and String gadgets that came as great convenience to me in my code and to my users, so now I just have to add more workaround for broken StringGadget feature.

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Posted: Mon Feb 06, 2012 11:49 am
by MachineCode
@Randy: All that code just to detect the Enter key? I'm amazed.

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Posted: Mon Feb 06, 2012 12:45 pm
by Randy Walker
MachineCode wrote:@Randy: All that code just to detect the Enter key? I'm amazed.
Well, you weren't supposed to be amazed. You were supposed to be ROTFLYAO :shock: :lol:

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Posted: Mon Feb 06, 2012 1:22 pm
by MachineCode
So, all that code was just satirical? Because I thought you were insane. :)

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Posted: Mon Feb 06, 2012 1:33 pm
by Randy Walker
@remi_meier ... I have to say, yours is probably the simplest solution I've come across. Already use it though as *one* of my workarounds. This method was probably one of the first changes I made to my code when I first ported from GFA Basic over to PureBasic. I still have a problem.

How would you handle the [Esc] key? The [Tab] key? Any other key without whacking the keyboard, forcing awkward gyrations in the code (as in use of AddKeyboardShortcuts)? This is where I started running into trouble, bringing in first, the Windows APIs, and next the AddKeyboardShortcuts, and later GetAsyncKeyState_() as a last resort to catch what the other workarounds kept missing. That last one did the trick and all was working really great... until I jumped from v4.20 to v4.60

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Posted: Mon Feb 06, 2012 1:53 pm
by Foz
Perhaps, it's time to create a community made StringGadget that's made from the CanvasGadget...

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Posted: Mon Feb 06, 2012 2:02 pm
by remi_meier
The [Tab] key can be done the same way:

Code: Select all

If OpenWindow(0, 0, 0, 322, 150, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  EditorGadget(0, 8, 8, 306, 133)
  
  Repeat
    event = WaitWindowEvent()
    If event = #PB_Event_Gadget
      If EventGadget() = 0
        If FindString(GetGadgetText(0), #TAB$) <> 0
          Debug "tab"
          SetGadgetText(0, RemoveString(GetGadgetText(0), #TAB$))
        EndIf
      EndIf
    EndIf 
    
  Until event = #PB_Event_CloseWindow
EndIf
For the [ESC] key there is no such solution.

Beware! These hacks have a serious problem as pasting
text containing Tab/LFs into the gadget will look like key presses.

For real use I think you should still go with a AddKeyboardShortcut().
Frankly, I don't see a problem with this code:

Code: Select all

If OpenWindow(0, 0, 0, 322, 150, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  StringGadget(0, 8, 8, 306, 133, "")
  AddKeyboardShortcut(0, #PB_Shortcut_Return,1)
  
  Repeat
    event = WaitWindowEvent()
    If event = #PB_Event_Menu And EventMenu() = 1 And GetActiveGadget() = 0
      Debug "return"
    EndIf 
    
  Until event = #PB_Event_CloseWindow
EndIf
It's a bit of a workaround but it seems to work fine. Managing
the events (MenuItemIDs, etc.) might be a bit tedious but at
least it seems to work :)

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Posted: Mon Feb 06, 2012 2:12 pm
by Randy Walker
Foz wrote:Perhaps, it's time to create a community made StringGadget that's made from the CanvasGadget...
Uhhh ... its a drawing. So how do you highlight text and copy to clipboard as you would String or Edit Gadgets?

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Posted: Mon Feb 06, 2012 2:26 pm
by Randy Walker
remi_meier wrote:For real use I think you should still go with a AddKeyboardShortcut().
Frankly, I don't see a problem with this code:
...
It's a bit of a workaround but it seems to work fine. Managing
the events (MenuItemIDs, etc.) might be a bit tedious but at
least it seems to work :)
:lol: Because like all workarounds attempting to manage this void, it has its own shortcoming. In this case, your solution broke the [Return] key. Here is your code modified to include an editor gadget that should by rights be able to carriage return and line feed to the next line when you press enter, but it doesn't, becasue AddKeyboardShortcut broke it:

Code: Select all

If OpenWindow(0, 0, 0, 322, 150, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  StringGadget(0, 8, 8, 306, 65, "")
  EditorGadget(1, 8, 75, 306, 65)
  AddKeyboardShortcut(0, #PB_Shortcut_Return,1)
  
  Repeat
    Event = WaitWindowEvent()
    If Event = #PB_Event_Menu And EventMenu() = 1 And GetActiveGadget() = 0
      Debug "return"
    EndIf
    
  Until Event = #PB_Event_CloseWindow
EndIf