RE: Win32 keyboard handling changes



> Tor Lillqvist wrote on Sun, 20 Jul 2003:
> - Previously, the Windowsish way of using Alt+keypad numbers way to
> input arbirtary characters from the *current codepage* worked. Not any
> longer. I don't see this as a big issue, as for GTK text entry, the
> Control+Shift+hex digits way of inputting *Unicode* characters work,
> and IMHO Unicode is preferrable to codepages anyway.

Since the [alt+numeric keypad] trick works in all Windows apps, dropping
this feature would involve a lot of avoidable trauma for the users.  
I can hear them now... 

"Hey Ken, if all other Windows apps still accept [alt+0177] as the 
plus/minus character, how come the apps you updated to GTK do not?"  

"In every other serial communication application I've ever used, I just
type in alt+03 to enter ASCII code ETX."

I'm not advocating that *every* aspect of the Win32 UI must be 
implemented in the Win32 version of GTK.  Consider another difference 
that exists between the Windows UI and the GTK UI: "In GTK apps, 
pressing [enter] doesn't advance to the next field."  There are three 
ways around this:

1) Retrain every user.  *sigh*

2) The programmer could set up "activate" signal handlers in every 
widget to move to the next field.  Not my idea of fun, but it is an 
option.

3) In my experience of releasing GTK-based apps to Windows users, even
novice users realize on their own that when [enter] doesn't work as 
expected the mouse can be used instead.  More experienced users figure 
out how to use the [tab] key.

So, let's apply these three workarounds back to the [alt+ numeric 
keypad] issue.  

1) Retrain all of the users, including information on how they can 
convert from decimal to hexadecimal. *double sigh*

2) Discover a programmatic way in GTK that I can re-implement the 
[alt+numeric keypad] behavior if it is removed from the Win32 version 
of GTK.

3) Hope that they figure out [control+shift+hex value] on their own.
Long odds, since *I* didn't know about this until today.

Thanks for the opportunity to give some feedback!

--
Ken Rastatter, Senior Design Engineer
Honeywell Sensotec
2080 Arlingate Lane, Columbus, Ohio, 43228-4112 USA
Home Page:  http://www.sensotec.com
"These opinions are mine and not necessarily those of Honeywell."



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]