I've had a bit of a problem replicating the errors you are getting so I've made a test fix which is somewhat of a nuclear option - it now ignores all modifier keys. If this works, then I will have a better idea of what the problem is.
Could helpful testers please download and try:
When doing the scrolling changes in my image I added a slot to
WorldMorph to hold the current point when initiating the scroll. The
methods in the WorldMorph traits object used this to read/write and do
This didn't change existing WorldMorphs since they are clones of
WorldMorph and the data slots are actually held in the morph, not a
parent slot. So I manually re-added the slot in all existing
WorldMorph's to prevent errors when the WorldMorph trait methods were
Is there a way to do this automatically when adding/changing slots in a
Morph? What's the idiom in Self for dealing with this sort of thing?
I like the way Self worlds work with the 'infinite size' approach, and
using radar morphs, etc to get a birds eye view and scroll around. I do
find it a bit difficult to quickly scroll the world in some direction to
get a bit of extra space though.
I decided to try some things out and lately I've been using a small
change to scroll the world by dragging with the right mouse button. I
have a patch to do it here:
It is also in my github repository in the 'scroll-world' branch:
With this patch applied you can right click and drag the world
background to move around. I chose right click since left click is
already taken with selection of morphs.
This model of scrolling would also work quite well on a touchscreen
based device. Adding kinetic scrolling would be interesting for
'flicking' the desktop around.
Is there functionality that does something like this already in the Self
system? Does anyone have their own 'hacks' for moving around the world?