How does a skin's layout file cater for non-US keyboards?

Skip to first unread message


Sep 29, 2023, 9:21:07 AM9/29/23
to Free42 & Plus42
On the US keyboard shift-3 is # but on the UK keyboard it's £ (and # is actually on it's own key). Presumably there are similar differences in other region's keyboards. I'm getting a desktop version of my Plus42 skin ready and it occurs to me that the keyboard bindings for 3 and ⇧3 and actually coded as 3 and # i.e. that would break the corresponding UK keyboard binding for ⇧3 (I think). On the Mac anyway, if I try to fix that by taking the binding for # and making a duplicate key binding for £ then I undermine the US key binding for ⌥3 which just happens to also be £. Ignoring for the moment that # has other constraints (given that it's a comment character in the layout file), how do the British or other similarly affected countries use the PC version of Free42/Plus42 without issue? I've certainly seen other keyboards where ⇧2 is " etc. 

Thomas Okken

Sep 29, 2023, 10:08:44 AM9/29/23
to Free42 & Plus42
If a user has a keyboard where the standard keymap doesn't work, they'll have to customize the keymap... that's the reason why Free42 and Plus42 create an external keymap.txt file, to allow this kind of customization. I don't have any non-U.S. keyboards to play with, but if users create keymap versions adapted for such keyboards, I wouldn't mind publishing them on my web site. (Nobody has ever asked about this before, I'm actually surprised that it took 19 years!)

Regarding the # sign specifically, in Mac keymaps, you can use 0x23 instead. In Windows and Linux keymaps, # is specified as Shift 51 and numbersign, respectively.

(It would be better if you could specify # if you specifically want to map that character, and specify Shift 3 if you specifically want the shifted 3 key, regardless of which character is there. But generally speaking, I think keyboard mapping in Free42 and Plus42 is impossible to do "right," and the way it works now is just something that at least works for U.S. keyboards, and is not too hard to modify.)

Paal Rasmussen

Jan 20, 2024, 7:14:42 AMJan 20
to Free42 & Plus42
Why it has taken 19 years? Interesting!
1) I tend to use the phone version for most trivial tasks. There I use the standard skin, AND use the mouse as I believe that my motor neurons retain much of their training by using the "push key" paradigm rather than "use keyboard". To me those two are different skill sets.
2) I think only a few users change the layout, perhaps because changing things around breaks the recourse of online/printed manuals and tutorials.
3) I believe I'm not the only one.

PS. I'm so happy to have found the Plus42 - it is a great everyday tool in my field (electronics/acoustics) AND it's a help in understanding and experimenting with mathematics. But my greatest joy is in the aesthetics department. The 42 is aesthetically pleasing, it avoids clutter and stays true to the HP calculator ethos that might best be summed up with the words from Dr. Dobbs Journal: "Travel light without overbyte!"

What other technologies do I admire? The 6809 microprocessor with its OS9 operating system, now seeing a new lease of life in the Turbo9 project.
In many ways this defined the epitome of computing. Development since has been "more, faster, bigger" and mainly focused on "user experience" - 80% of CPU power used to drive a ridiculously large screen with 10 bit colour. #end_of_rant

Thomas Okken

Jan 20, 2024, 7:16:42 PMJan 20
to Free42 & Plus42
Speaking as a software developer — Free42 and Plus42 are really a hobby that got out of hand, but programming is also my actual job — I have to disagree with the "more, faster, bigger" take on software development. There is a seeming infinity of things people could use computers for, and as hardware companies deliver ever faster CPUs and larger RAMs and disks, more and more of those things become practical. That seems to me to be a good thing. It's not developers coming up with more and more ways to waste CPU cycles, it's actual users with actual wishes and needs.

Having said that, I do have moments of nostalgia for the days when computers were simpler. I got started with the Commodore PET and the Commodore 64, and it was a lot of fun to make those machines perform clever and useful tricks, while one or two books provided exhaustive documentation of their hardware and ROM software.

But I wouldn't actually want to go back to that. Programming with the primitive IDEs we had back then, if we had IDEs at all? No thanks, that would be painful. Same for those ancient word processors. Or web browsers before CSS. No Internet. No streaming video. No relational databases. No C++ or Java or Python. No 24-bit color. Even vim would be too much for early computers to handle. I could go on.

Several years ago, a colleague threw out his old Macintosh LC. As an early Mac adopter myself — my first more-than-8-bit computer was the original Mac, followed by a Mac II a few years later — I took the machine to my office, hooked everything up, and turned it on. It was in excellent shape and it worked perfectly, but after 15 minutes, I put it back out in the hallway. My colleague was right, that thing was just not usable any more. Put it in a display case, sure, but not on the desk of someone who likes to get things done. :-D

6502 assembly language programming was fun though. I'll never deny that. 😇

Regarding custom keyboard maps: it is a mystery. Free42 has tens of thousands of users, and there must be at least a few hundred in places like Russia and Japan where they don't use QWERTY keyboards. I have gotten emails from some of them, but never about keyboard mapping problems. I find this surprising, but I'm not complaining, because, as I mentioned earlier, doing keyboard mapping in a way that works well for everyone out of the box is hard bordering on impossible. If people find the app good enough with its primitive keyboard maps, I'll count my blessings and let sleeping dogs lie.
Reply all
Reply to author
0 new messages