Hi hasSpecialCTRLKeyValue was extracted by me when I hack keybindings to make ctrl+home and ctrl+end working. Like you I was very surprised by such keyboard events crappy state.
2014-06-25 11:22 GMT+04:00 Nicolai Hess <nicolaih...@web.de>: > 2014-06-25 8:58 GMT+02:00 Guillermo Polito <guillermopol...@gmail.com>: > > There is a problem in the whole keyboard events: they treat keys as >> characters and vice versa. And that's not always true: >> - the backspace key is a key, but currently the image interprets it as a >> character because we only use keypress events in general. >> - the shift key is a key, and since current image does not use keyup nor >> keydown, we cannot know if JUST a shift is pressed normally. >> >> >> On Wed, Jun 25, 2014 at 8:53 AM, Sven Van Caekenberghe <s...@stfx.eu> >> wrote: >> >>> I don't know anything about event handling, but I once had a look at >>> Character constants, and found this: >>> >>> Character class>>#home >>> ^ self value: 1 >>> >>> How about that ?? This is wrong IMHO, ASCII / Unicode value 1 is SOH >>> (Start of header), sometimes typed as CTRL-A. And there are other strange >>> constants like that there. >>> >>> On 25 Jun 2014, at 08:42, Tudor Girba <tu...@tudorgirba.com> wrote: >>> >>> > Hi, >>> > >>> > I am on Windows, using Pharo 3.0, and I am trying to get the >>> keybindings to work in Rubric using Windows convention (so, Ctrl instead of >>> Cmd as a modifier), >>> > >>> > It worked reasonably well, but the problem is that somehow Ctrl+a is >>> mapped to Ctrl+Home. The problem is not specific to Rubric as I can detect >>> the same behavior in the regular PluggableTextMorph. >>> > >>> > Does anyone have an idea of where the problem comes from? >>> > >>> > Doru >>> > >>> > >>> > >>> > -- >>> > www.tudorgirba.com >>> > >>> > "Every thing has its own flow" >>> >>> >>> >> > > ctrl+a has the same strange behavior as ctrl+d > ctrl+a -> ctrl+home > ctrl+d -> ctrl+end > > look at KeyboardEvent>>#hasSpecialCTRLKeyValue > I am not exactly sure why it is handled that way. > Replace the method with > > hasSpecialCTRLKeyValue > ^ self controlKeyPressed and: [ keyValue <= 26 ] > > now, ctr+a and ctr+d working as expected. > But I don't know about the side-effects. > > > nicolai > >