Thanks.
I now changed it to be:
Character space command shift
Ben, could you please try on Windows?
(you have to load the latest version of Glamour-Morphic-Widgets)
Cheers,
Doru
On 25 May 2012, at 12:37, Guillermo Polito wrote:
Ok,
The lack of "after" means that there is some mapping configured that transforms
the keyboard combination to some other without ctrl.
The noBefore+noAfter may mean one of:
- the os/vm is not sending a keyboard event to the image
- the os/vm is sending some event that has no ctrl...
So, probably a solution for now, may be picking a different key combination working on
every platform...
Guille
On Fri, May 25, 2012 at 9:53 AM, Ben Coman
<btc(a)openinworld.com>
wrote:
Thanks for checking this out Guillermo. A few results...
Pressing CTRL on its own three times
Before: #(2 533101358 17 1 2 17 0 1)
Before: #(2 533103168 17 1 2 17 0 1)
Before: #(2 533106007 17 1 2 17 0 1)
In unix it gives:
Before: #(2 44327 251 2 2 0 0 1)
After: #(2 44327 251 2 2 0 0 1)
Before: #(2 44861 251 2 2 0 0 1)
After: #(2 44861 251 2 2 0 0 1)
Before: #(2 45309 251 2 2 0 0 1)
After: #(2 45309 251 2 2 0 0 1)
First holding CTRL, then pressing SHIFT three times
Before: #(2 533340445 17 1 2 17 0 1)
Before: #(2 533341631 16 2 2 16 0 1)
Before: #(2 533343206 16 2 2 16 0 1)
Before: #(2 533345781 16 2 2 16 0 1)
In Unix
Before: #(2 73761 255 1 2 0 0 1)
After: #(2 73761 255 1 2 0 0 1)
Before: #(2 74277 255 1 2 0 0 1)
After: #(2 74277 255 1 2 0 0 1)
Before: #(2 74785 255 1 2 0 0 1)
After: #(2 74785 255 1 2 0 0 1)
First holding CTRL, then pressing SPACE three times
Before: #(2 533407619 17 1 2 17 0 1)
Before: #(2 533409523 32 1 2 32 0 1)
After: #(2 533409523 32 1 2 32 0 1)
Before: #(2 533409523 32 0 2 32 0 1)
After: #(2 533409523 32 0 2 32 0 1)
Before: #(2 533409585 32 2 2 32 0 1)
After: #(2 533409585 32 2 2 32 0 1)
Before: #(2 533410677 32 1 2 32 0 1)
After: #(2 533410677 32 1 2 32 0 1)
Before: #(2 533410677 32 0 2 32 0 1)
After: #(2 533410677 32 0 2 32 0 1)
Before: #(2 533410708 32 2 2 32 0 1)
After: #(2 533410708 32 2 2 32 0 1)
Before: #(2 533411707 32 1 2 32 0 1)
After: #(2 533411707 32 1 2 32 0 1)
Before: #(2 533411707 32 0 2 32 0 1)
After: #(2 533411707 32 0 2 32 0 1)
Before: #(2 533411753 32 2 2 32 0 1)
After: #(2 533411753 32 2 2 32 0 1)
First holding CTRL, then holding SHIFT, then pressing SPACE three times
Before: #(2 533487835 17 1 2 17 0 1)
(nothing)
(nothing)
(nothing)
First holding space, then pressing CTRL three times
(nothing)
Before: #(2 533197611 17 1 2 17 0 1)
Before: #(2 533198250 17 1 2 17 0 1)
Before: #(2 533200871 17 1 2 17 0 1)
First holding SHIFT, then pressing CTRL three times
(nothing)
(nothing)
(nothing)
First holding SHIFT, then holding SPACE, then pressing CTRL three times
(nothing)
(nothing)
(nothing)
CogVM.ini
[Global]
DeferUpdate=1
ShowConsole=0
DynamicConsole=1
ReduceCPUUsage=1
ReduceCPUInBackground=0
3ButtonMouse=0
1ButtonMouse=0
UseDirectSound=1
PriorityBoost=1
B3DXUsesOpenGL=0
CaseSensitiveFileMode=0
Guillermo Polito wrote:
Hi!
I'd like to know also if the problem is in Keymapping or in is some
platform/vm/whatever other issue on keyboard handling. Actually, pharo
messes up with <ctrl> normally, since it is not broadly used :).
Ben, can you debug a bit?
Add the following lines on InputEventSensor>>#
processEvent::
"Finally keyboard"
type = EventTypeKeyboard
ifTrue: [
"Sswap ctrl/alt keys if neeeded"
* (evt at: 5) = 2 "if it is ctrl" ifTrue: [ Transcript show:
'Before: ', (evt asString);cr] .*
KeyDecodeTable
at: {evt at: 3. evt at: 5}
ifPresent: [:a |
evt
at: 3 put: a first;
at: 5 put: a second].
* (evt at: 5) = 2 "if it is ctrl" ifTrue: [ Transcript show:
'After: ', (evt asString);cr] .*
"Update state for polling calls"
modifiers := evt at: 5.
^evt].
press ctrl-shift-space and send me the output transcript :).
BTW, if the problem is this f*** KeyDecodeTable, we have removed it in
pharo 2.0, for the next generation :).
Guille
On Wed, May 23, 2012 at 9:05 PM, Tudor Girba
<tudor(a)tudorgirba.com>
wrote:
> Hi,
>
> Perhaps the problem is with keymapping. I work on Mac.
>
> Please try to use:
> GLMWatcherWindow uniqueInstance toggleOpen
>
> This is what essentially gets triggered by the keymapping definition from:
> GLMWatcherWindow class>>buildKeymapsOn:
>
> Please let me know if it works.
>
> Cheers,
> Doru
>
>
>
>
> On 23 May 2012, at 19:08, Ben Coman wrote:
>
>
>
>
>
>> Yes. Ctrl+Shift+Space has no response. Else I would not have reported
>>
>>
>>
>>
> it :)
>
>
>
>
>> btw my platform is Windows 7.
>>
>> Tudor Girba wrote:
>>
>>
>>
>>
>>> Did you press Ctrl+Shift+Space?
>>>
>>> This should open/close the Watcher.
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>> On 23 May 2012, at 17:21, Ben Coman wrote:
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>> Tudor Girba wrote:
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>> Hi,
>>>>>
>>>>> I enhanced Glamour with a first version of a Watcher browser that
>>>>>
>>>>>
>>>>>
>>>>>
> offers a behavior similar to Quick Preview on Mac.
>
>
>
>
>>>>> For example, if you run the code below in a Moose image, and then
>>>>>
>>>>>
>>>>>
>>>>>
> press Ctrl+Shift+Space you will get a preview of source code in a window
> floating above the current one. See the attachment.
>
>
>
>
>>>>> | browser |
>>>>> browser := GLMTabulator new.
>>>>> browser column: #methods.
>>>>> browser transmit to: #methods; andShow: [:a | a list display:
>>>>>
>>>>>
>>>>>
>>>>>
> #methods; format: #selector ].
>
>
>
>
>>>>> browser transmit from: #methods; toWatcher; andShow: [:a | a
>>>>>
>>>>>
>>>>>
>>>>>
> smalltalkCode
>
>
>
>
>>>>> smalltalkClass: [ :method | method methodClass ];
>>>>> display: [:method | method getSource ] ].
>>>>> browser openOn: GLMBrowser
>>>>>
>>>>> To get it 100% useable I would need help with some Morphic magic:
>>>>> - to make the Watcher window not appear in the taskbar
>>>>> - to make the rendering of Watcher happen in another thread so that
>>>>>
>>>>>
>>>>>
>>>>>
> it does not block the current UI
>
>
>
>
>>>>> Cheers,
>>>>> Doru
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>> This does not work for me out of the box with a fresh Moose 4.7
>>>>
>>>>
>>>>
>>>>
> downloaded this evening. There is no response when clicking on the method
> list.
>
>
>
>
>>>> I see in
GLMMorphicWatcherRender>>actOnMatchingPresentationsChanged
>>>>
>>>>
>>>>
>>>>
> that you use you have [ GLMWatcherWindow uniqueInstance ] and a stab in the
> dark is that something broke since your uniqueInstance was created. I
> wonder your example still works for you after [ GLMWatcherWindow reset ].
>
>
>
>
>>>> In any case, I got it partially working with the following (likely
>>>>
>>>>
>>>>
>>>>
> inappropriate) hack...
>
>
>
>
>>>> GLMMorphicWatcherRenderer>>actOnMatchingPresentationsChanged:
>>>>
>>>>
>>>>
>>>>
> anAnnouncement
>
>
>
>
>>>> "whenever a relevant pane changes its presentations,
>>>> we override the contents from the GLMWatcherWindow"
>>>> | window |
>>>> window := GLMWatcherWindow uniqueInstance.
>>>> window contentsMorph
>>>> removeAllMorphs;
>>>> addMorph: (self renderObject: anAnnouncement pane)
>>>> fullFrame: (LayoutFrame fractions: (0@0 corner: 1@1)) .
>>>> window openInWorld.
>>>>
>>>> Clicking in turn on several methods shows each in the single Glamorous
>>>>
>>>>
>>>>
>>>>
> Watcher. However Glamorous Watcher keeps repositioning on top of the
> Glamorous Browser.
>
>
>
>
>>>> cheers -ben
>>>> _______________________________________________
>>>> Moose-dev mailing list
>>>>
>>>>
>>>>
>>>> Moose-dev(a)iam.unibe.ch
>>>>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>> --
>>>
>>>
>>>
>>>
www.tudorgirba.com
>>>
>>>
>>>
>>>
>>> "Every successful trip needs a suitable vehicle."
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Moose-dev mailing list
>>>
>>>
>>>
>>> Moose-dev(a)iam.unibe.ch
>>>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>> _______________________________________________
>> Moose-dev mailing list
>>
>>
>> Moose-dev(a)iam.unibe.ch
>>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>
>>
>>
>>
>>
>>
> --
>
>
>
www.tudorgirba.com
>
>
>
> If you can't say why something is relevant,
> it probably isn't.
>
>
> _______________________________________________
> Moose-dev mailing list
>
>
> Moose-dev(a)iam.unibe.ch
>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
>
>
>
>
>
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
"Quality cannot be an afterthought."
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch