Re: [WP34s] serious bug in QtGui version Message #9 Posted by pascal_meheut on 24 Mar 2012, 12:47 a.m., in response to message #8 by Marcus von Cube, Germany
Quote:
Pascal, the WP 34S indeed has a NULL built in. It's not part of the emulator. The trick is that most keys have delayed execution that is only carried out on key release. The keyboard driver produces a Kxy key code on key press and a single K_RELEASE on key release (the same for all keys). The latter is used to trigger command execution while the former just decodes the command and stores it. Exempt from this mechanism are only the number entry keys (and ENTER).
Yes, I'm aware of this and was just joking before (shouldn't have). However, it does not apply to 0-9, +/-, CPX, XEQ, ENTER, <-, ->, EEX, ., EXIT...
Quote:
The only repeating keys shall be UP and DOWN and DOWN must not repeat in run mode (as opposed to program entry mode). DOWN doubles as SST and this will NULL if held down for a second or so.
Yes and this is not implemented in the wp34sgui.exe emulator. I've implemented it too including correct support for the arrow keys in the WP34sEmulator but it works only with the keyboard so far. Not when keys are pressed by the mouse.
I would like to support it at mouse-level too but this is slightly more complicated than it seems. First, we have to reimplement the mechanism ourselves and it is not obvious to reproduce the same autorepeat delay & speed as the keyboard. This is a minor issue I met already when implementing another emulator (the Fx702p one).
Also, the WP34sEmulator reacts to button-released, not button-pressed events unlike wp3sgui. The reason was to be closer to GUI-system standards which allow you to void a button-pressed by releasing it outside of the component.
Supporting autorepeat at this level would imply to change it and I prefer to take my time and think about it first.
|