New user questions: UNDO key, special characters, TEdit

22 views
Skip to first unread message

Paolo Amoroso

unread,
Dec 28, 2022, 6:57:35 AM12/28/22
to Medley Interlisp Users/Interest
As a new Medley Interlisp user I have a few basic questions.

But first I wish to thank the project team for preserving and making accessible such a unique system. Exploring the rich environment and tools feels like an encounter with an advanced civilization.

Here are my questions. For context, I use the online version of Medley under chromeOS.

The Medley documentation mentions the UNDO key of Xerox workstations. Do modern keyboards have an equivalent key or keystroke?

Speaking of keyboards, how do I type special characters such as the left arrow symbol?

When I press an arrow key in the text editing area of TEdit, nothing happens. Instead I would expect the carect to move in the corresponding direction. Does TEdit support the cursor keys? Does it require a special setup for the keys to work? Changing the caret's position with the mouse works but is less convenient.

Paolo Amoroso

unread,
Dec 29, 2022, 9:06:24 AM12/29/22
to Medley Interlisp Users/Interest
On Wednesday, December 28, 2022 at 12:57:35 PM UTC+1 Paolo Amoroso wrote:
The Medley documentation mentions the UNDO key of Xerox workstations. Do modern keyboards have an equivalent key or keystroke?

I found undo is bound to Alt+UpArrow, redo to Alt+DownArrow.

 
When I press an arrow key in the text editing area of TEdit, nothing happens. Instead I would expect the carect to move in the corresponding direction. Does TEdit support the cursor keys? Does it require a special setup for the keys to work? Changing the caret's position with the mouse works but is less convenient.

This is a known issue and work is under way to rebind the arrows and other keys. TEdit is used also for Lisp sources, so I hope the issue is addressed soon as coding is really impractical without the arrow keys.

Paolo Amoroso

unread,
Dec 29, 2022, 3:16:35 PM12/29/22
to Medley Interlisp Users/Interest
On Wednesday, December 28, 2022 at 12:57:35 PM UTC+1 Paolo Amoroso wrote:
Speaking of keyboards, how do I type special characters such as the left arrow symbol?

On my Chromebox with an Italian keyboard I can get the left arrow symbol bt pressing Shift+- where - is the key that inserts the - symbol (minus sign) when pressed, the _ symbol (underscore) when pressed togehter with Shift.

Tim Bradshaw

unread,
Dec 29, 2022, 5:34:40 PM12/29/22
to Paolo Amoroso, Medley Interlisp Users/Interest
That's because the underscore and left-arrow characters are the same code point: in early ASCII, the characters that now display as  ^ and _ (5E and 5F hex) were up-arrow and left-arrow.  For reasons soneone who understands Medley / Interlisp better than I do will know, Medley still used the left-arrow glyph where we'd no expect underscore.  I can't remember what it displayed for ^.

On 29 Dec 2022, at 20:16, Paolo Amoroso <paolo....@gmail.com> wrote:


On Wednesday, December 28, 2022 at 12:57:35 PM UTC+1 Paolo Amoroso wrote:
Speaking of keyboards, how do I type special characters such as the left arrow symbol?

On my Chromebox with an Italian keyboard I can get the left arrow symbol bt pressing Shift+- where - is the key that inserts the - symbol (minus sign) when pressed, the _ symbol (underscore) when pressed togehter with Shift.

--
https://Interlisp.org for more details
---
You received this message because you are subscribed to the Google Groups "Medley Interlisp Users/Interest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to interlisp+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/interlisp/cf94424c-ac66-4b12-9a0b-22a89f272363n%40googlegroups.com.

Al Kossow

unread,
Dec 29, 2022, 5:48:34 PM12/29/22
to inte...@googlegroups.com
On 12/29/22 2:34 PM, Tim Bradshaw wrote:
>  For reasons soneone who understands Medley / Interlisp better than I do will know, Medley
> still used the left-arrow glyph where we'd no expect underscore.
origins go back to the PARC keyboards and their use of <- for assignment
here is the Alto keyboard with up and left arrow, underscore, but no ^
altoLeftarrow.JPG

Ron Kaplan

unread,
Dec 29, 2022, 5:55:58 PM12/29/22
to Al Kossow, inte...@googlegroups.com
I think the glyph you see depends on the stream’s current font. GACHA (original Alto font) shows the underscore character-code as a left arrow, TERMINAL (Xerox NS font) shows it as underscore.
> --
> https://Interlisp.org for more details
> --- You received this message because you are subscribed to the Google Groups "Medley Interlisp Users/Interest" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to interlisp+...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/interlisp/234be011-3229-defc-975d-317abf1e2483%40bitsavers.org.
> <altoLeftarrow.JPG>

Nick Briggs

unread,
Dec 29, 2022, 7:15:00 PM12/29/22
to Ron Kaplan, Al Kossow, inte...@googlegroups.com
Likewise for up-arrow — Gacha has it as an actual up arrow, and Terminal has it as a caret (^). As Tim said, ASCII 1963 had up-arrow and left-arrow at code points 0x5E/0x5F, but that changed in ASCII 1965 and certainly seemed settled by 1967, so I have no idea why the keyboard (and font) designers used the old glyphs.
> To view this discussion on the web visit https://groups.google.com/d/msgid/interlisp/8C21F6AF-D9A6-4F21-BA56-661F5C13750C%40post.harvard.edu.

John Cowan

unread,
Dec 30, 2022, 1:25:47 AM12/30/22
to Nick Briggs, Ron Kaplan, Al Kossow, inte...@googlegroups.com
On Thu, Dec 29, 2022 at 7:15 PM Nick Briggs <nicholas...@gmail.com> wrote:

Likewise for up-arrow — Gacha has it as an actual up arrow, and Terminal has it as a caret (^).  As Tim said, ASCII 1963 had up-arrow and left-arrow at code points 0x5E/0x5F, but that changed in ASCII 1965 and certainly seemed settled by 1967, so I have no idea why the keyboard (and font) designers used the old glyphs.

Basically because Smalltalk and Mesa needed the left-arrow for assignment and Smalltalk needed the up-arrow for "return" (Mesa used a keyword), so that's how the D-machine keyboards were laid out.  Nowadays Smalltalk can use either underscore or colon-equals for assignment and circumflex for "return".

Ron Kaplan

unread,
Dec 30, 2022, 6:18:12 PM12/30/22
to Nick Briggs, Al Kossow, inte...@googlegroups.com
Maybe it would avoid some confusion if we made TERMINAL be the default font.
> To view this discussion on the web visit https://groups.google.com/d/msgid/interlisp/51E66D8D-5A55-42B4-A8F4-75A988913D40%40gmail.com.

Larry Masinter

unread,
Jan 1, 2023, 9:43:38 PM1/1/23
to Ron Kaplan, Nick Briggs, Al Kossow, inte...@googlegroups.com
Changing the default font might fix things for some users/uses but would make other uses worse (e.g._ in LOOPS).

If we register a new "charset" entry in Character Sets (iana.org)   which corresponds to external encoding.
but is different from XCCS in that _ is a left arrow and ^ is an up-arrow.




--

Larry Masinter

unread,
Jan 5, 2023, 1:43:07 AM1/5/23
to Tim Bradshaw, Paolo Amoroso, Medley Interlisp Users/Interest
i want to schedule time to talk about keyboard issues.
I think some prep work will help.. so a week from next Monday?


Nick Briggs

unread,
Jan 5, 2023, 12:39:50 PM1/5/23
to Larry Masinter, Tim Bradshaw, Paolo Amoroso, Medley Interlisp Users/Interest
Sure.  So we’re starting from the same page:

Independent of the (underline/left arrow and caret/up arrow) font glyph issue, the behavior that Paolo is seeing is exactly what we expect — shift of the key to the right of the 0 is (to Lisp) underline/left arrow, unshifted it’s a hyphen/minus.

At the lowest level Medley operates on unencoded key bits.  Presumably once (Interlisp-10) it was ASCII, then it became the unencoded bits for the Alto/D-machine keyboards, then a translation of the (pre-USB and USB) scan codes (e.g., Sun type-3 keyboard, 101(?) key PC keyboard, Sun type-5 keyboard), now it’s the X11 key codes (NOT keysyms), though the raw keyboard (and raw framebuffer) support is still present in the source.

The “physical” keys are passed to Lisp via the 7 * 16 bits key vector (this includes the 3 mouse buttons and 5-key chord keyset)

For the known physical keyboard layouts the tables mapping what the keyboards produce are hardwired (e.g., Sun type-3), but for X11 there are some heuristic adjustments made for slightly different *physical* keys (not glyphs on keycaps) appearing to be present — such as whether the X server is going to report a Delete key or a Backspace key (or both).

At the Lisp level, the 112 bits are known by the symbols in \KEYNAMES, and there is a complicated mechanism for mapping those bits to the (currently NS) character codes and keyboard functions (modifier keys, mouse buttons, interrupt characters).

What we’re NOT currently providing is a set of tables that the user can select from to easily map from the physical keycodes to the characters in their national alphabet (again this is NOT about underscore vs left-arrow; it’s “does this key produce an o-umlaut when typing text”, or “is this the Q key or the A key in my keyboard layout”) — presumably this is not particularly difficult to do, we already have the VIRTUALKEYBOARDS library package which implements this, it’s just that either nobody has built a good set of tables or we don’t know where they are.

In terms of making things happen automatically the problem we run into is that we can’t tell, for all the OSs that we run on, what the user’s expected interpretation of the keyboard is (e.g., macOS’s Xquartz doesn’t implement the keyboard modmap correctly, even for just reading it if not for setting it.  Jeremy knows about this but isn’t too interested in fixing it)

So… what’s the real question you want to talk about?

— Nick

Paolo Amoroso

unread,
Jan 7, 2023, 2:09:37 PM1/7/23
to Medley Interlisp Users/Interest
I'm trying out other keystrokes in Online Medley on my Chromebox, so I hope my notes will help new users and possibly also the project maintainers.

First off, the Meta key is LeftAlt on chromeOS. All the SEdit keystrokes seem to work but chromeOS eats LeftAlt+' (i.e. Meta+'), even at full screen. A workaround is to press Search+LeftAlt+' where Search is the key with a magnifying glass icon on Chromebooks.
Reply all
Reply to author
Forward
0 new messages