[Pharo-dev] Keyboard events is broken.

Stéphane Ducasse stephane.ducasse at inria.fr
Tue Aug 6 15:33:21 EDT 2013


I imagine that having a branch is the way to go.
Like that esteban can integrate the fixes of eliot and you do not stress to finish.
Once this is ready there is a merge.

At least this is what I was thinking the process was:
	one main blessed stream
	several others at different level of maturity with the ultimate goal to avoid bottleneck.
Stef

> 
> On Tue, Aug 6, 2013 at 8:06 PM, Igor Stasenko <siguctua at gmail.com> wrote:
> On 6 August 2013 17:47, Guillermo Polito <guillermopolito at gmail.com> wrote:
> > ah, forgot to say. Latest vms from jenkins should be ready in a while, not
> > yet :).
> >
> yes, and that's why i want you to answer a following question:
>  why you think the repository was named 'blessed' as in [1]?
> 
> I don't know... That some saint has come and blessed it? :)
> If not, point me to where it is explained, is there a wiki page or something?
> 
> Igor, I do not know how to read that question. Now, really:
> 
> - I thought that moving the VM repository to gitorious was meant to open it. If only a couple of people (lets say you, Camilo and Esteban) have the rights to commit, then I feel it defeats the purpose
> 
> - Maybe I should make a pull-request, but you can see that there are three there, one for at least one year, waiting for integration and probably out of date [1]
> 
> - to me one benefit of using a CVS is that it gives you the ability to revert and going back in the history, and there are not much commits in cog to traverse... So, if it is really broken we go back and there are no problems. Should I be afraid of committing something? 
> 
> - As Stef says, you only can break if you do...
> 
> - Now, maybe I should continue not trying to fix some stuff in the vm if people get pissed off when using latest and a bug is found
> 
> [1] https://gitorious.org/cogvm/blessed/merge_requests
> 
> 
> [1] https://gitorious.org/cogvm/blessed/
> 
> >
> > On Tue, Aug 6, 2013 at 5:46 PM, Guillermo Polito <guillermopolito at gmail.com>
> > wrote:
> >>
> >>
> >> On Tue, Aug 6, 2013 at 4:53 PM, Stéphane Ducasse
> >> <stephane.ducasse at inria.fr> wrote:
> >>>
> >>> thanks guillermo :)
> >>> Cleaning events at VM level is important.
> >>
> >>
> >> Cleaning is not sooooo easy :).
> >>
> >> I've been able to reproduce some of these problems (the delete key and the
> >> double keyUp:). I've tried to fix them, bah, actually I did in here, but I'd
> >> like someone else tests in their keyboard layouts in their homes :).
> >>
> >> Regarding the difference of the keyValues between keyUp and keyDown, I did
> >> not address it, and it kinda orthogonal, nothing to do with this particular
> >> issue.
> >>
> >> To see my changes, people can have a look at the diff in here:
> >>
> >>
> >> https://gitorious.org/cogvm/blessed/commit/2214cee58a5c5266b8ab2322b98471553b1b11c2/diffs/9e2a77928edf0144f0d5c42ada66eb18918af64b
> >>
> >> I'd like to start putting this in some issue tracker. Cog issue tracker or
> >> Pharo one? :) Esteban?
> >>
> >>>
> >>> On Aug 6, 2013, at 4:32 PM, Guillermo Polito <guillermopolito at gmail.com>
> >>> wrote:
> >>>
> >>>
> >>>
> >>>
> >>> On Tue, Aug 6, 2013 at 3:40 PM, Igor Stasenko <siguctua at gmail.com> wrote:
> >>>>
> >>>> I changed this method to see better what happens:
> >>>> HandMorph class>>showDebugEvent: evt
> >>>>
> >>>>         ShowEvents == true ifTrue: [
> >>>>                 | ofs|
> >>>>                 Display fill: (0 at 0 extent: 500 at 120) rule: Form over
> >>>> fillColor: Color white.
> >>>>                 ofs := (owner hands indexOf: self) - 1 * 60.
> >>>>                 evt printString displayAt: (0 at ofs) + (evt isKeyboard
> >>>> ifTrue: [0 at 30]
> >>>> ifFalse: [0 at 0]).
> >>>>                 self keyboardFocus printString displayAt:
> >>>> (0 at ofs)+(0 at 45).
> >>>>
> >>>>                 evt isKeyboard ifTrue: [  Transcript show: evt
> >>>> printString;cr ]
> >>>>                 ].
> >>>>
> >>>>
> >>>> KeyboardEvent>> printOn: aStream
> >>>>         "Print the receiver on a stream"
> >>>>
> >>>>         aStream nextPut: $[.
> >>>>         aStream nextPutAll: type; nextPutAll: ' '''.
> >>>>         self printKeyStringOn: aStream.
> >>>>         aStream nextPut: $'.
> >>>>
> >>>>         aStream space; nextPutAll: 'keyValue: ', self keyValue
> >>>> asString.
> >>>>
> >>>>         aStream nextPut: $]
> >>>>
> >>>> set
> >>>> HandMorph showEvents:true
> >>>>
> >>>> Now, pressing single space, gives me this:
> >>>>
> >>>> [keyDown ' ' keyValue: 49]
> >>>> [keystroke ' ' keyValue: 32]
> >>>> [keyUp ' ' keyValue: 49]
> >>>> [keyUp ' ' keyValue: 49]
> >>>>
> >>>> Pressing delete key (or fn-backspace , for those who having a lot of
> >>>> spare fingers to use bad keyboards):
> >>>>
> >>>> [keyDown ' ' keyValue: 117]
> >>>> [keystroke '⌦' keyValue: 188]
> >>>> [keyUp ' ' keyValue: 117]
> >>>> [keyUp ' ' keyValue: 117]
> >>>>
> >>>> now, can someone tell me , why there is 2 keyUp events for each keyDown?
> >>>
> >>>
> >>> That I don't know
> >>>
> >>>>
> >>>>
> >>>> and of course, main question is why key values are different for
> >>>> keydown and keystroke events?
> >>>
> >>>
> >>> That I'll dive right now into the vm to see what it is :).
> >>>
> >>>>
> >>>> (and why delete key is not 127, but 117 or 188?)
> >>>>
> >>>> Editor expecting 127:
> >>>>
> >>>>         cmdMap at: (127 + 1) put: #forwardDelete:.              "del
> >>>> key"
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Best regards,
> >>>> Igor Stasenko.
> >>>>
> >>>
> >>>
> >>
> >
> 
> 
> 
> --
> Best regards,
> Igor Stasenko.
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20130806/f27ba8e1/attachment-0002.html>


More information about the Pharo-dev mailing list