I’m appealing to anyone who might have gone down this same road before.
I’m writing a generic Photon touch screen keyboard.
The keyboard works, and it can emit keys just fine.
Well almost fine. If I un-realize the keyboard before I emit, and then re-realize it, all works. But of course the keyboard flashes, which I’d like to avoid.
If I don’t do the un-realize, then no keys appear, which suggests that the keyboard region is absorbing them.
Ok, I look on the region viewer and I see two regions.
I get the rid from ABW_base with PtWidgetRid() and I get the region info with PhRegionQuery(). I remove Ph_EV_KEY and Ph_EV_RAW from both the events_opaque and events_sense and update the region with PhRegionChange(). I know this works because when I re-execute PhRegionQuery, the values of events_opaque and events_sense have changed.
But the keys still don’t go through. Hmmm? Well what about that 2nd Region, the yellow one that is part of the window manager. Ok, so I slay pwm and try again, and still no keys, so that’s not it either.