[Oberon] CapsLock

eas lab lab.eas at gmail.com
Sun Jan 17 07:27:36 CET 2016


] Yes - I know, it's my fault as I have never learnt how to touchtype properly
] so I only look at the screen after typing every few words.

No - touchtyping is what we did in the 60s..
Ctrl, Alt, <Fn> has killed touch-typing.

I don't want to need to look AWAY from the screen.
Thats WHY I use ETHO and `wily` [which copied ETHO].

]My preferred behaviour would be that the Shift key is ignored whenever
]CapsLock is on instead of acting as 'toggle case' but I guess that would
]confuse everybody else. Consequently I never use the <CapsLock> key.
]
]Believe it or not it was this irritation that led to the creation of first
]CPIde and then Astrobe. I designed the editor so that you could type
]everything in lowercase (using the shift key for isolated capital letters).
]The editor recognises Oberon reserved words and keywords and automatically
]capitalises them. For example, if I type:

It's not good to <perceive> different chars on the kybrd & screen.
That's exactly what NW would mean by confusing complexity.

]  procedure ReadInt(r: Rider; i: integer);
]  begin
]
]The Astrobe editor's auto-capitalisation feature converts this on the fly
]to:
]
]  PROCEDURE ReadInt(r: Rider; i: INTEGER);
]  BEGIN
]
]Of course, the feature can be switched off for those who are happy with
]CapsLock. For those who need to have CapsLock on RISC5 Oberon I have
]proposed a modification to Input.Mod on the OberonStation forum:

What about a syntax-directed editor/system, where you initially see:-
 Module #ModID;
 ConstDecls;
....
 ProcDecls;
 BEGIN
  Stmts
 END.

and <selecting> "ProcDecls" expands to:
PROCEDURE #ProcID #ArgList;
  BEGIN
   #StmLst
  END #ProcID;
...<and a 2nd/repeat Proc-template> which can be wiped if not needed.

The <# marked tokens> have a different colour.
-----
wily can already do this.
StmLst is the name of a local routine, which runs when kliked, which:
 replaces in the displayed file
  each instance of "#StmLst"
   with eg..
"  VarID := #Expresn;
   IF #Bool THEN #StmLst ELSE #StmLst END;
..."
and then updates the display....

== Chris Glur.


More information about the Oberon mailing list