Home AMX User Forum NetLinx Studio

Keypad Data from Touch Panels

Greetings...

I have an issue with using the built-in keypad on a touch panel for multiple purposes, but unless there is something I haven't found, I have to set flags internally to determine what the current focus of the keypad is. It seems that keypad string events only come through on port 1, so I've had to capture it there, then regenerate it to the virtual UI devices that the modules are using.

It would be nice if the command to popup the keypad allowed you to specify a port to reply on. Any other thoughts, ideas?

Thanks...Sonny

Comments

  • If this is a G3 touch panel, you have to keep track of what you're doing in code.

    With G4's you've got some options, as you can create pages that will append a chunk of text that you specify before the result string from the keypad.

    - Chip
  • DHawthorneDHawthorne Posts: 4,584
    sonny wrote:
    Greetings...

    I have an issue with using the built-in keypad on a touch panel for multiple purposes, but unless there is something I haven't found, I have to set flags internally to determine what the current focus of the keypad is. It seems that keypad string events only come through on port 1, so I've had to capture it there, then regenerate it to the virtual UI devices that the modules are using.

    It would be nice if the command to popup the keypad allowed you to specify a port to reply on. Any other thoughts, ideas?

    Thanks...Sonny

    Yes, keypad strings always come in on port 1. You can track it internally in the module without regenerating it by breaking up the DEV structure for whatever port your module panel is using:
    DEFINE_DEVICE
    
    DEV dvPanelOnOddPort = 10001:3:0
    
    DEFINE_VARIABLE
    
    DEV dvPanelMainPort = {dvPanelOnOddPort .NUMBER, 1, dvPanelOnOddPort.SYSTEM}
    
    DATA_EVENT[dvPanelMainPort]
    {
         STRING : {} // do your thing heere
    }
    

    But I agree, it would be nice to be able to specify the port.
Sign In or Register to comment.