Interlisp / medley

The main repo for the Medley Interlisp project. Wiki, Issues are here. Other repositories include maiko (the VM implementation) and Interlisp.github.io (web site sources)
https://Interlisp.org
MIT License
376 stars 19 forks source link

Problems with non-us keyboards (German Swiss German) #1780

Open marcoxa opened 4 months ago

marcoxa commented 4 months ago

Describe the bug It appears that the latest version (on W11 WSL Ubuntu 24.04) does not like a Swiss German keyboard. I cannot type in the top left key (§ and ° when shifted) below the Escape key and, above all, the bottom left key next to the left SHIFT key (> when shifted and Alt Gr \ work correctly, but not the plain <; which is a problem).

Other keys do not quite work. Some of them produce accented characters (ü. à. ö etc) but in general it is a bit annoying).

To Reproduce Steps to reproduce the behavior:

  1. W11
  2. Swiss German keyboard

Expected behavior I press < I get a <.

Context (please complete the following information):

nbriggs commented 1 month ago

I don't know what @pamoroso expected keypad-enter to do - but you had it right the first time around. If you change it to map to the same thing as Return then one can no longer set bit 76 in the keyboard bit vector.

pamoroso commented 1 month ago

I tested the latest Gingko and now the Ctrl keychords work correctly and reliably.

I actually don't use the numeric keypad but tested it for completeness. I expect keypad ENTER to work the same way as the main ENTER, which it does with the latest change.

rochus-keller commented 1 month ago

Ok, glad to hear that it works. I will now continue to use it for my explorations of the platform. Maybe it turns out to be feasible to replace all direct OS dependencies by a platform independent solution. SDL is a good start, but something like Qt would likely be enough to cover all required functions.

nbriggs commented 1 month ago

Current OS dependencies that I can think of: a (case-independent, versioned) file system (maiko implements it over POSIX files), access to the raw underlying file system, access to the raw network, medium to high resolution timers with interrupts, medium to high resolution clock, display (1-bpp, indexed color, 8-bpp color mapped for auxiliary display [currently out-of-service]), (3-button) mouse position input, "hardware" cursor (min 16x16 bits) with transparency, keyboard input (unencoded -- keys and mouse buttons map to 112 bit keyboard bitmap, with up/down transitions for each key, full chording, all keys equivalent). No fancy graphics are necessary - just the ability to get the 1-bpp Lisp memory mapped display visible - pre X (and Sunview) it took over the frame buffer device and imaged directly there. X11, SDL, and Qt are all heavier-weight than necessary, except in as much as they can interface with the native window system. Bitmapped display performance is key - users report SDL slows down the system compared to X11.

This all exists currently for Unix-y systems and there was DOS code which we haven't been maintaining. I try to move things towards POSIX where possible.