I have noticed this new
experimental branch yesterday and have started playing with it. I have an a3400 that is equipped with a touch screen in addition to a full set of regular buttons. The port doesn't require CHDK soft buttons, but I thought it would be cool to use the touch screen for additional stuff.
I have added a hook to the touch task a while ago. I don't know how it behaves in the other ports, but in this one the CHDK hook function (chdk_process_touch) only gets called when the screen is being touched.
Current status is that the new touch UI sort of works. What 'sort of' in this case means: highlight follows the touched area, but I only get a new keypress event when I touch outside the menu area beforehand. I'm sure my current implementation is faulty (I have to manipulate states of existing physical buttons unlike in the other ports (N, Ixus310)). I'd like to ask for some advice.
I have also found something that may need some thoughts. The camera failed to start when I called gui_touch_process() from the keyboard task. Investigation showed that gui_touch_process() relies on the initialized state of the CHDK GUI, calling the function before gui_init() causes an exception. The keyboard task usually starts before SpyTask calls gui_init(). The diff contains a workaround.
I didn't intend to open this thread myself, but I had no better idea.