I wonder if some of what we're uncovering here is also related to why, on a Mac OS VM, the Alt/Option key will often be "stuck" after I Cmd-Tab to switch to a different task and then return. I often find that I have to hit Alt/Option once to "unstick" it after Cmd-Tab switching back to Squeak. — |
In reply to this post by David T Lewis
Thanks Subbu! — |
> On 2019-06-12, at 1:10 PM, Nicolas Cellier <[hidden email]> wrote: > > Thanks Subbu! KeyDecodeTable was the piece that I missed. I searched where the hell in the VM this CTRL->CMD modifier dance was performed, but failed to find it. It was in the image of course! It certainly IS the key of the problem. This is part of a problem I've seen too many times over the years; something needs a 'tweak' for platform A - change is made in the platform code. That leads to problems for platforms B & C, and changes are made in the image. We end up with a curious and impenetrable mix of image and platform code doing weird things... and years later no one can remember anything about it. tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim Strange OpCodes: LD: Lose Device |
In reply to this post by David T Lewis
So why does CTRL+d work? If you have
will replace Ctrl-d code (0x4) + CTRL modifier (2) by $d + CMD modifier (8). If you have a VM outputting $d + CTRL, then this translation does NOT happen, and we encounter the strange code in
They don't. Only the preferences may differ or not... So some squeakers will reproduce the problem some not, it's just random. If other preferences is selected, like It may also depends on the We see that fixing the VM to make Brick/Bloc/GT/Whatever work, may break Morphic/MVC because they already have crooked workarounds that now fail. We arrived at a point where we cannot change a single feature without breaking another. Unpalatable! It does not mean we do not have to change things. We want to be able to evolve. We want a VM doing what it says and saying what it does (specs and docs please!), if possible not too complex things: that is transform OS specific events into platform agnostic events (preferably union of possible events rather than intersection IMO, or we'll never be on tablets and phones). While increasing VM consistency, we can start to disentangling image code and remove some hacks. But for this to happen, we have to put all expectations on the table and make some choice. CTRL = SHIFT+CMD is highly questionable for example, I'd like to know where it comes from to begin with? This is not the place to debate that, it's Squeak specific. I would rather close the issue and fix Squeak. Thoughts? — |
In reply to this post by David T Lewis
> On 12.06.2019, at 23:20, Nicolas Cellier <[hidden email]> wrote: > > (preferably union of possible events rather than intersection IMO, or we'll never be on tablets and phones) The SDL Events are pretty good, I recon… — |
In reply to this post by David T Lewis
I like the SDL events, and I already have them working on the Minheadless VM since 1-2 years ago: We can use this for fixing the Keyboard and MOUSE inconsistency in Morphic for both Squeak, and Pharo. Mouse button numbers are also not assigned the same way in all the platforms. The VM events are pushed into queue (implemented with a circular buffer) that are fetched by the InputEventSensor >> #nextEvent method in Pharo. The SDL2 based display support in the Minheadless VM also allows the VM to handle SDL2 events that are not directed to the main VM window by exposing the following three primitives:
The support for using these primitives is already implemented and integrated in the standard Pharo 7 image. Using this VM fixes OSWindow event handling in Mac and Windows (in Linux it have been always working perfectly). — |
In reply to this post by David T Lewis
This issue occurs for me in our 5.3beta builds. I can only use alt+c/v/x/p... to trigger the usual actions, not ctrl+c/v/x/p... as it used to be. I tried reverting the mentioned commit on the Cog branch, which I can confirm re-enables using the key combos as expected for me (1b837f9) — |
In reply to this post by David T Lewis
I have fixed (patched?) ctrl+a to ctrl+z on linux VM. — |
Free forum by Nabble | Edit this page |