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@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@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 reportedit :)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 thatoffers a behavior similar to Quick Preview on Mac.For example, if you run the code below in a Moose image, and thenpress 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 | asmalltalkCodesmalltalkClass: [ :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 thatit does not block the current UICheers, DoruThis does not work for me out of the box with a fresh Moose 4.7downloaded this evening. There is no response when clicking on the method list.I see in GLMMorphicWatcherRender>>actOnMatchingPresentationsChangedthat 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 (likelyinappropriate) 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 GlamorousWatcher. However Glamorous Watcher keeps repositioning on top of the Glamorous Browser.cheers -ben _______________________________________________ Moose-dev mailing list Moose-dev@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@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev_______________________________________________ Moose-dev mailing list Moose-dev@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@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev_______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev_______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev _______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev-- www.tudorgirba.com "Quality cannot be an afterthought." _______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev