Touch Panel Keyboard Strings from port other than 1
wilw410
Junior Member
I have a module that listens for text from a keyboard to be sent to it as a string. In order to fit their panel files into my usual panel, I switched all channel, address, level, command, etc ports to 10 because I am already using port 1 for other things. The issue I have is getting the "KEYB-XXX" strings from the keyboard which are always sent from port 1 of the touch panel devices to send to the module which is listening on touch panel port 10.
My first though was to create a data event on the touch panel port 1 and then redirect them as if they are from port 10 similar to doing a do_push. But, I cant find a way of emulating the "KEYB-XXX" string as if it came from port 10.
Has anyone else had this issue or know of a fix for my problem?
My first though was to create a data event on the touch panel port 1 and then redirect them as if they are from port 10 similar to doing a do_push. But, I cant find a way of emulating the "KEYB-XXX" string as if it came from port 10.
Has anyone else had this issue or know of a fix for my problem?
Comments
-
I have a module that listens for text from a keyboard to be sent to it as a string. In order to fit their panel files into my usual panel, I switched all channel, address, level, command, etc ports to 10 because I am already using port 1 for other things. The issue I have is getting the "KEYB-XXX" strings from the keyboard which are always sent from port 1 of the touch panel devices to send to the module which is listening on touch panel port 10.
My first though was to create a data event on the touch panel port 1 and then redirect them as if they are from port 10 similar to doing a do_push. But, I cant find a way of emulating the "KEYB-XXX" string as if it came from port 10.
Has anyone else had this issue or know of a fix for my problem?
I haven't used the built-in keyboard/keypad for years. I personally make my own keyboard that doesn't rely upon strings from the touch panel. That way a keyboard/pad can be anything I want and doesn't rely upon a preset, hard-coded solution.
that's what I'd do if I were you.
e -
ericmedley wrote: »I haven't used the built-in keyboard/keypad for years. I personally make my own keyboard that doesn't rely upon strings from the touch panel. That way a keyboard/pad can be anything I want and doesn't rely upon a preset, hard-coded solution.
that's what I'd do if I were you.
e
I use the built in keyboard with good success. It has all the shifted characters as well and I didn't want to have to do all the work required to build that. Its a better solution in the long run I agree, but I can't get myself to do it when something that already works exist. Basic laziness.
For your module, can't you just create a data_event that listens for the keyb- command on port 1?
Paul -
I was able to solve it by sending two touch panel arrays into the module, one port 1 and one port 11. Then I cretaed the DATA_EVENT using the port 1 array and everything else the port 11 array.
Is there a solution if it was a compiled module where I do not have the actual code and cannot modify it? I often use modules from AMX or other sources that are compiled already as jars or tkos.
I guess I am looking for a new command like DO_PUSH that is DO_STRING or DO_COMMAND to emulate touch panel activity in code when needed. Feature request? -
It's not really an "issue," it's the way they are made. Panel strings just come from port 1, and that is all there is to it. I generally make a device internal to my module that I dynamically populate on start up. Say the panel you send to your module for buttons and feedback uses a parameter variable called dvPanel, and your internal device that you want to parse feedback from is named dvMsgPanel. Then you put these lines in DEFINE_START:
dvMsgPanel.NUMBER = dvPanel.NUMBER ;
dvMsgPanel.PORT = 1 ;
dvMsgPanels.SYSTEM = dvPanel.SYSTEM ;
REBUILD_EVENT() ; // put this at the end of the section in case other stuff needs it
Now you have a device equal to whatever your passed panel is, but on port 1. I make it a point to make certain my text field sends something unique, so I know it's my module generating the data and no someone else's.
If you have a compiled module from another party that is using anything but port 1 for this, it's not going to work no matter what you do. -
DHawthorne wrote: »It's not really an "issue," it's the way they are made. Panel strings just come from port 1, and that is all there is to it. I generally make a device internal to my module that I dynamically populate on start up. Say the panel you send to your module for buttons and feedback uses a parameter variable called dvPanel, and your internal device that you want to parse feedback from is named dvMsgPanel. Then you put these lines in DEFINE_START:
dvMsgPanel.NUMBER = dvPanel.NUMBER ;
dvMsgPanel.PORT = 1 ;
dvMsgPanels.SYSTEM = dvPanel.SYSTEM ;
REBUILD_EVENT() ; // put this at the end of the section in case other stuff needs it
Now you have a device equal to whatever your passed panel is, but on port 1. I make it a point to make certain my text field sends something unique, so I know it's my module generating the data and no someone else's.
If you have a compiled module from another party that is using anything but port 1 for this, it's not going to work no matter what you do.
That's a good trick, I might just have to rebuild the one module I've got with this issue to take advantage of it.
Categories
- All Categories
- 2.5K AMX General Discussion
- 922 AMX Technical Discussion
- 514 AMX Hardware
- 502 AMX Control Products
- 3 AMX Video Distribution Products
- 9 AMX Networked AV (SVSI) Products
- AMX Workspace & Collaboration Products
- 3.4K AMX Software
- 151 AMX Resource Management Suite Software
- 386 AMX Design Tools
- 2.4K NetLinx Studio
- 135 Duet/Cafe Duet
- 248 NetLinx Modules & Duet Modules
- 57 AMX RPM Forum
- 228 MODPEDIA - The Public Repository of Modules for Everyone
- 943 AMX Specialty Forums
- 2.6K AMXForums Archive
- 2.6K AMXForums Archive Threads
- 1.5K AMX Hardware
- 432 AMX Applications and Solutions
- 249 Residential Forum
- 182 Tips and Tricks
- 146 AMX Website/Forums