Hello Albrecht and Fabien.

Before I continue I would like to say Thank You for your efforts on this 
project, as well as the others who regularly contribute to the discussions, 
fixes and support.  Lots of hard work/discussions on UTF8 and documentation 
especially.

As Fabien has mentioned my intention with this patch was to mimic the actions 
of the mouse, when you pushed then released a button with the FL_WHEN_CHANGE 
attribute, using shortcut keys.  As an example in my application I have four 
buttons which move an indicator up/down left/right when one or more of the 
buttons are pushed.  Each push causes only a single callback, but the user has 
the feed back that he is holding the button down.  When the indicator reaches 
the desired position the user can then release the button to stop the movement. 
 As an added benefit, using the short cut keys you are able to move the 
indicator in the X/Y direction simultaneously, ie holding the SHIFT key, Up 
Arrow Key and Left Arrow Key at the same time would move the indicator towards 
the upper left hand corner of the screen.

There are a couple of anomalies I have noticed with this patch, but they are 
unusual situations.  If you use the mouse to push a button then initiate the 
short key, then release the mouse button the action continues.  This is what I 
believe should happen.  If you initiate the short cut then push the mouse 
button then release the short cut the action stops.  This occurs because the 
mouse push has no idea that the short cut has also been used.  The short cut 
does know because of value_ .  I was tempted to start using bit values in 
value_ to indicate if multiple methods had activated the button, ie short cut 
and mouse push, but I felt this would violate the intended use of value_.  At 
some time in the future it might be worth the effort to revisit how 
interactions with buttons, and any other widgets which are used to receive user 
input, are done. Especially with multiple input methods( mouse, keyboard, touch 
screens eye trackers, etc) becoming available all the time.

The other anomaly I noticed the other day is if you initiate the short cut 
using the key first then then pressing the state key next, the short cut does 
not work. As an example pressing the UP arrow key then pressing the SHIFT key 
will not work, but pressing the SHIFT key then the UP arrow key works.  Will 
have to take a look at this.

Thanks,
John P. Pfost
_______________________________________________
fltk-dev mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-dev

Reply via email to