[squeak-dev] Re: Linux input testers needed
Michal Perutka
michal.perutka at gmail.com
Fri Aug 28 13:52:33 UTC 2009
2009/8/27 Andreas Raab <andreas.raab at gmx.de>
> Michal Perutka wrote:
>
>> UnicodeInputInterpreter>>nextCharFrom: sensor firstEvt: evtBuf
>> "Compose Unicode character sequences"
>> | peekEvent keyValue composed |
>> "Only try this if the first event is composable and is a character
>> event"
>> ((Unicode isComposable: (keyValue := evtBuf *sixth*))
>> and:[evtBuf fourth = EventKeyChar]) ifTrue:[ ... ].
>> "XXXX: Fixme. We should put the skipped event back if we haven't
>> consumed it."
>>
>> ^ *Unicode* value: keyValue
>>
>> Why evtBuf sixth ? Some keys on a Czech keyboard give me possibility to
>> type Czech characters with diacritical marks directly. Correct codes
>> (unicodes, e.g. 353 for $š) I've found in evtBuf at the sixth position, not
>> at the third. And the sixth position seems to be Ok for all characters.
>>
>
> Yes, that's correct. Mistake on my part. Element three is the old MacRoman
> value; number six is the UTF32 code point.
Using evtBuf sixth throughout the method brought me problems with ctrl-c,
ctrl-s, etc. and even scrolling by a mouse wheel stopped working. This
modification seems to fix them:
UnicodeInputInterpreter>>nextCharFrom: sensor firstEvt: evtBuf
"Compose Unicode character sequences"
"Only try this if the first event is composable and is a character
event"
| peekEvent keyValue composed |
keyValue := evtBuf sixth > 127 ifTrue: [evtBuf sixth] ifFalse: [evtBuf
third].
((Unicode isComposable: keyValue) and: [evtBuf fourth = EventKeyChar])
ifTrue: [ ...
Cheers
Michal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20090828/dcdde9aa/attachment.htm
More information about the Squeak-dev
mailing list
|