Resolution:
The plugin can be set up for any button press to be a ShiftKey, Keypress, Macro, OEMCode, or any other function designed into the plugin. So, for any DRO I set up a macro to open a Message box for user input. The DRO's that I frequently enter characters into are X,Y and Z axis DROs. So the simple macro to set the X axis is
dro = Question("X DRO:")
SetOEMDRO(800,dro)
Because the "Question Message Box" is a Window's compliant form all keypresses process with Windows::__::SendWait("key"). The DRO macros actually function more efficient since since I don't have to use a mouse click to set focus to the DRO.
For the MDI window I created the macro 'SendKeys "{Enter}", false' which acts just as if ENTER was pressed from a keyboard within the Mach Screen or MDI. The only issue is the " macro ENTER" doesn't process within a Windows compliant control like the "Question Message Box" or a Mach Menu dropdown etc, so two ENTERs are required from button action, a " macro ENTER" and a Windows::Forms::SendKeys::SendWait("{ENTER}") .
The hand held keyboard and joystick has 2 joysticks controlling 4 axes and 26 buttons. Of the 26 buttons, 2 are designated as "ShiftKeys" so there are 49 button actions. I have one button, like button17 set to Windows::Forms::SendKeys::SendWait("{ENTER}") and Shift-button17 set to "macro ENTER" so it isn't too confusing. The two shift buttons when pressed together can also be set to a button action. 24 + Shifted 24 + 1shift-shift = 49.
I hope this helps anyone searching for SendKeys, SendWait, or ScanCodes. I would still like to find out how and/or if a ScanCode can be
processed in Mach's screen.
Kurt