Cross Platform -- Detect StringGadget Carriage Return Key

Share your advanced PureBasic knowledge/code with the community.
Randy Walker
Enthusiast
Enthusiast
Posts: 478
Joined: Sun Jul 25, 2004 4:21 pm
Location: US

Cross Platform -- Detect StringGadget Carriage Return Key

Post 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 
- - - - - - - - - - - - - - - -
Randy
IF (PureBasic > PowerBasic) AND (PowerBasic > Visual_Basic) THEN PureBasic RULES!!!!
Randy Walker
Enthusiast
Enthusiast
Posts: 478
Joined: Sun Jul 25, 2004 4:21 pm
Location: US

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Post 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 ) 
- - - - - - - - - - - - - - - -
Randy
IF (PureBasic > PowerBasic) AND (PowerBasic > Visual_Basic) THEN PureBasic RULES!!!!
Randy Walker
Enthusiast
Enthusiast
Posts: 478
Joined: Sun Jul 25, 2004 4:21 pm
Location: US

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Post 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 :) 
- - - - - - - - - - - - - - - -
Randy
IF (PureBasic > PowerBasic) AND (PowerBasic > Visual_Basic) THEN PureBasic RULES!!!!
Randy Walker
Enthusiast
Enthusiast
Posts: 478
Joined: Sun Jul 25, 2004 4:21 pm
Location: US

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Post 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 
- - - - - - - - - - - - - - - -
Randy
IF (PureBasic > PowerBasic) AND (PowerBasic > Visual_Basic) THEN PureBasic RULES!!!!
Randy Walker
Enthusiast
Enthusiast
Posts: 478
Joined: Sun Jul 25, 2004 4:21 pm
Location: US

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Post by Randy Walker »

COPY CODE FROM MY FIRST 4 POSTS INTO ONE IDE WINDOW FOR DEMO OPERATION
- - - - - - - - - - - - - - - -
Randy
IF (PureBasic > PowerBasic) AND (PowerBasic > Visual_Basic) THEN PureBasic RULES!!!!
remi_meier
Enthusiast
Enthusiast
Posts: 468
Joined: Sat Dec 20, 2003 6:19 pm
Location: Switzerland

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Post 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)
Athlon64 3700+, 1024MB Ram, Radeon X1600
Randy Walker
Enthusiast
Enthusiast
Posts: 478
Joined: Sun Jul 25, 2004 4:21 pm
Location: US

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Post 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.
- - - - - - - - - - - - - - - -
Randy
IF (PureBasic > PowerBasic) AND (PowerBasic > Visual_Basic) THEN PureBasic RULES!!!!
MachineCode
Addict
Addict
Posts: 1482
Joined: Tue Feb 22, 2011 1:16 pm

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Post by MachineCode »

@Randy: All that code just to detect the Enter key? I'm amazed.
Microsoft Visual Basic only lasted 7 short years: 1991 to 1998.
PureBasic: Born in 1998 and still going strong to this very day!
Randy Walker
Enthusiast
Enthusiast
Posts: 478
Joined: Sun Jul 25, 2004 4:21 pm
Location: US

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Post 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:
- - - - - - - - - - - - - - - -
Randy
IF (PureBasic > PowerBasic) AND (PowerBasic > Visual_Basic) THEN PureBasic RULES!!!!
MachineCode
Addict
Addict
Posts: 1482
Joined: Tue Feb 22, 2011 1:16 pm

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Post by MachineCode »

So, all that code was just satirical? Because I thought you were insane. :)
Microsoft Visual Basic only lasted 7 short years: 1991 to 1998.
PureBasic: Born in 1998 and still going strong to this very day!
Randy Walker
Enthusiast
Enthusiast
Posts: 478
Joined: Sun Jul 25, 2004 4:21 pm
Location: US

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Post 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
- - - - - - - - - - - - - - - -
Randy
IF (PureBasic > PowerBasic) AND (PowerBasic > Visual_Basic) THEN PureBasic RULES!!!!
Foz
Addict
Addict
Posts: 1359
Joined: Tue Nov 13, 2007 12:42 pm
Location: Manchester, UK

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Post by Foz »

Perhaps, it's time to create a community made StringGadget that's made from the CanvasGadget...
remi_meier
Enthusiast
Enthusiast
Posts: 468
Joined: Sat Dec 20, 2003 6:19 pm
Location: Switzerland

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Post 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 :)
Athlon64 3700+, 1024MB Ram, Radeon X1600
Randy Walker
Enthusiast
Enthusiast
Posts: 478
Joined: Sun Jul 25, 2004 4:21 pm
Location: US

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Post 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?
- - - - - - - - - - - - - - - -
Randy
IF (PureBasic > PowerBasic) AND (PowerBasic > Visual_Basic) THEN PureBasic RULES!!!!
Randy Walker
Enthusiast
Enthusiast
Posts: 478
Joined: Sun Jul 25, 2004 4:21 pm
Location: US

Re: Cross Platform -- Detect StringGadget Carriage Return Ke

Post 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
- - - - - - - - - - - - - - - -
Randy
IF (PureBasic > PowerBasic) AND (PowerBasic > Visual_Basic) THEN PureBasic RULES!!!!
Post Reply