IBM Model F third layer

wim_board

02 Jun 2021, 15:42

Hi all,

I've got ahold of an IBM Model F(!). I now have a somewhat embarrassing question...
How do you reach the third layer characters? I.e. the equivalent of Alt Gr?

There even seems to be a fourth layer... With four characters on a few key caps. How does that work?

I use a Soarer's converter (that someone's been messing with).

User avatar
an_achronism

02 Jun 2021, 21:57

For starters, which Model F? There are a whole bunch.

I'm assuming you have one that has no Alt Gr, like the old IBM PC one ("XT"). If so, "Alt Gr" is basically just equivalent to Ctrl + Alt for the most part, e.g. on a UK layout Ctrl + Alt + ` is ¦, same as you'd get with Alt Gr.

If you want a single key for Alt Gr you need to remap, e.g. turn Caps Lock into RAlt (right Alt). The documentation for Soarer's code explains this in detail apart from not actually calling it "Alt Gr" (this is determined by the operating system, if you select a layout that has Alt Gr in the OS and use a keyboard with a key logically mapped as RAlt, it'll be interpreted as Alt Gr).

Another way would be to use a layer key to turn another key (e.g. LAlt) into RAlt.

As far as the "fourth layer", I've no idea what you mean, unless you maybe meant that you have a terminal model or something, in which case the legends are irrelevant because you're presumably using it with a PC if you're using Soarer's code.

Findecanor

02 Jun 2021, 22:31

By "fourth layer", I suppose that is what is normally accessed by Alt Gr + Shift. Then press whatever you map to Alt Gr together with Shift. ;)

User avatar
Weezer

02 Jun 2021, 22:42

You need to map the keys to the functions you'd prefer using the tools for soarer's converter that can be found on the original Geekhack post. If you want us to know what you're talking about as far as layers you need to supply a picture of your keyboard.

User avatar
an_achronism

02 Jun 2021, 23:20

Findecanor wrote:
02 Jun 2021, 22:31
By "fourth layer", I suppose that is what is normally accessed by Alt Gr + Shift. Then press whatever you map to Alt Gr together with Shift. ;)
I don't think so, because they claim there are 4 legends on certain keycaps. But yeah, without more info, no idea... hahah.

User avatar
Bjerrk

03 Jun 2021, 07:17

an_achronism wrote:
02 Jun 2021, 21:57
If so, "Alt Gr" is basically just equivalent to Ctrl + Alt for the most part, e.g. on a UK layout Ctrl + Alt + ` is ¦, same as you'd get with Alt Gr.
The poster is in Sweden - with the Swedish layout, AltGr is not equivalent to Ctrl+Alt (at least this is the case with the Danish layout, and they're almost identical).

I feel some kind of déjà vu here :-D Don't remember if it was with you or Muirium I had this discussion recently :-P

User avatar
an_achronism

03 Jun 2021, 08:20

Bjerrk wrote:
03 Jun 2021, 07:17
The poster is in Sweden - with the Swedish layout, AltGr is not equivalent to Ctrl+Alt (at least this is the case with the Danish layout, and they're almost identical).

I feel some kind of déjà vu here :-D Don't remember if it was with you or Muirium I had this discussion recently :-P
OH, AYE, SO US SCOTS ALL LOOK THE SAME TO YOU, EH? ;)

Ahem.

I was actually talking about it myself on Discord, saying that I was reasonably sure Alt Gr didn't always work as Ctrl + Alt. But I've so far never found something that couldn't be done with Ctrl + Alt. As far as I can see, Alt Gr just sends scancodes equivalent to LCtrl + RAlt, but that's slightly different from LCtrl + LAlt that you'd get from an XT by default.

I myself have it set up as I described with a function layer to turn LAlt into RAlt, such that "Caps Lock" is my layer switch, making the only Alt key temporarily "Alt Gr". The only use case for me personally would like be my media key shortcuts, since I have them mapped with Alt Gr + keys, but I just configured the converter to my layer switch instead of Alt Gr since it's in the same spot on the XT board, more or less.

User avatar
Bjerrk

03 Jun 2021, 08:54

an_achronism wrote:
03 Jun 2021, 08:20
OH, AYE, SO US SCOTS ALL LOOK THE SAME TO YOU, EH? ;)
Image

Also .... it was yooooouuu ... (points finger)
I myself have it set up as I described with a function layer to turn LAlt into RAlt, such that "Caps Lock" is my layer switch, making the only Alt key temporarily "Alt Gr".
That seems fairly reasonable!
However, programming and typesetting (LaTeX) is what I do the most on my computer - and I use AltGr all the time. On the Nordic layouts, you need AltGr for \ , @ , $, { , [ , ] , and } as well as | and ~ so you really use it constantly when coding.
What I do on e.g. XT or AT layout boards lacking an RAlt is bind it to KP_0, actually. This is sufficiently close to where it would otherwise be that it doesn't trip me up too much. One can always do it in such a way that tapping KP_0 gives you 0, while holding it gives you AltGr :)

User avatar
an_achronism

03 Jun 2021, 09:24

Bjerrk wrote:
03 Jun 2021, 08:54
One can always do it in such a way that tapping KP_0 gives you 0, while holding it gives you AltGr :)
This is precisely the thing I failed to see a way of doing with Soarer's code, so assumed you couldn't, and thought I'd need TMK/QMK. Is it possible with Soarer's?

(I also want a single tap of Ctrl to be Esc if possible since it's dead handy for vi...)

User avatar
Bjerrk

03 Jun 2021, 12:05

an_achronism wrote:
03 Jun 2021, 09:24
This is precisely the thing I failed to see a way of doing with Soarer's code, so assumed you couldn't, and thought I'd need TMK/QMK. Is it possible with Soarer's?
Well, to be honest I do not really use Soarer's converter for anything except testing purposes. It's too limited for me - I rely on things like mouse keys. So my converters and controllers run either TMK or QMK of some sort, I must admit.
(I also want a single tap of Ctrl to be Esc if possible since it's dead handy for vi...)
Ah, a fellow vi(m) user! I love slamming the escape key - it's a rule that you should always hit it a few more times than actually necessary.

User avatar
an_achronism

03 Jun 2021, 20:10

Bjerrk wrote:
03 Jun 2021, 12:05
Well, to be honest I do not really use Soarer's converter for anything except testing purposes. It's too limited for me - I rely on things like mouse keys. So my converters and controllers run either TMK or QMK of some sort, I must admit.
(I also want a single tap of Ctrl to be Esc if possible since it's dead handy for vi...)
Ah, a fellow vi(m) user! I love slamming the escape key - it's a rule that you should always hit it a few more times than actually necessary.
Hahah. I've mostly been doing Ctrl + [ as a substitute for moving way off to the top left corner but it would be easier still if it was where Caps Lock is. So yeah, that'd be cool. I think I'll make a generic PS/2 and USB Pro Micro for myself and use those for remapping with TMK next, the Soarer thing is v simple and user friendly but I'm keen to experiment more with Fancy Things.

wim_board

04 Jun 2021, 12:18

Hi,

Original poster here, sorry for being away, and thanks for all your kind help.
It cleaned up nicely
It cleaned up nicely
2021-06-04 12.05.24.jpg (4.27 MiB) Viewed 3659 times
This board is the XT variety, and the Soarer's is of the commercial kind. Just an extension plug, no circuit board board. The layout is Swedish.
Ctrl + Alt doesn't make Alt Gr in this case. I'll be able to remap it later, but I haven't figured out how to work the converter on Linux yet. Maybe I'll need to make the hex-files from scratch.
After some testing, I've found that the third (and fourth) letters are reached by changing language settings on the computer side. That's not bad, but it's a bit of a hassle to change language just to write an @-sign.

That's where I'm at right now. Any thoughts?

User avatar
Bjerrk

04 Jun 2021, 12:37

wim_board wrote:
04 Jun 2021, 12:18
Hi,

Original poster here, sorry for being away, and thanks for all your kind help.

2021-06-04 12.05.24.jpgThis board is the XT variety, and the Soarer's is of the commercial kind. Just an extension plug, no circuit board board. The layout is Swedish.
Ctrl + Alt doesn't make Alt Gr in this case. I'll be able to remap it later, but I haven't figured out how to work the converter on Linux yet. Maybe I'll need to make the hex-files from scratch.
After some testing, I've found that the third (and fourth) letters are reached by changing language settings on the computer side. That's not bad, but it's a bit of a hassle to change language just to write an @-sign.

That's where I'm at right now. Any thoughts?
Hi wim, did you read the posts above? You can absolutely map another key of your choice to AltGr.
If you need help with Soarer's on Linux, just say the word. There's lots of us using a proper operating system here :-)

User avatar
an_achronism

04 Jun 2021, 13:36

@Bjerrk: Ahaha. No argument from me, as a consistently disgruntled Windows user who dips in and out of Arch, Debian, and lately Gallium...

@wim_board: The Windows version is only really different in that it holds your hand more: there's a batch file with the commands prewritten in it, that's all. Just means you can drag and drop your .sc files onto the .bat file and not have to type out the commands, nothing more fancy than that.

The process is basically:

1. Run "scas" (Soarer's Converter ASsembler) to convert your plaintext .sc ("Soarer's Config", presumably) config file into a binary (which I'm guessing is essentially turning it into hex and then patching it into the default code to give you a new hex file ready to write to the hardware):

Code: Select all

scas configfilename configfilename.scb
2. Run "scwr" (Soarer's Converter WRiter) to write your binary onto the converter:

Code: Select all

scwr configfilename.scb
On Linux, there's no batch file (I don't even know if the concept of a batch file exists in the same way as it does on Windows tbh) but the process is the same, unless I'm forgetting something.

User avatar
Bjerrk

04 Jun 2021, 14:01

an_achronism wrote:
04 Jun 2021, 13:36
On Linux, there's no batch file (I don't even know if the concept of a batch file exists in the same way as it does on Windows tbh) but the process is the same, unless I'm forgetting something.
Shell scripts, my friend. Batch files on steroids.

User avatar
an_achronism

04 Jun 2021, 14:07

Bjerrk wrote:
04 Jun 2021, 14:01
Shell scripts, my friend. Batch files on steroids.
Ah, I suppose that's true. I guess I never equated the two for whatever reason. I wonder if there's any merit in throwing one together for Linux users of Soarer's converter code, but then again most Linux users are probably savvy enough not to need one... it's still more convenient/fast though.

User avatar
raoulduke-esq

04 Jun 2021, 16:39

an_achronism wrote:
04 Jun 2021, 13:36
@Bjerrk: Ahaha. No argument from me, as a consistently disgruntled Windows user who dips in and out of Arch, Debian, and lately Gallium...

@wim_board: The Windows version is only really different in that it holds your hand more: there's a batch file with the commands prewritten in it, that's all. Just means you can drag and drop your .sc files onto the .bat file and not have to type out the commands, nothing more fancy than that.

The process is basically:

1. Run "scas" (Soarer's Converter ASsembler) to convert your plaintext .sc ("Soarer's Config", presumably) config file into a binary (which I'm guessing is essentially turning it into hex and then patching it into the default code to give you a new hex file ready to write to the hardware):

Code: Select all

scas configfilename configfilename.scb
2. Run "scwr" (Soarer's Converter WRiter) to write your binary onto the converter:

Code: Select all

scwr configfilename.scb
On Linux, there's no batch file (I don't even know if the concept of a batch file exists in the same way as it does on Windows tbh) but the process is the same, unless I'm forgetting something.
Wait a sec... the argument around here is always "TMK/QMK so awful have to recompile I can't be bothered to edit a text file and recompile". What is this? This sounds like editing a text file and compiling? Am I missing something?

User avatar
an_achronism

04 Jun 2021, 17:52

raoulduke-esq wrote:
04 Jun 2021, 16:39

Wait a sec... the argument around here is always "TMK/QMK so awful have to recompile I can't be bothered to edit a text file and recompile". What is this? This sounds like editing a text file and compiling? Am I missing something?
Were I to guess, I'd suggest that it's probably the fact that Soarer's solution already includes everything you need by default (scas and scwr) and has documentation and a preconfigured .bat file built in, whereas TMK/QMK has to be recompiled through more traditional means and requires installing other stuff. Although the documentation is pretty thorough on that point, it's still more involved than "drag your text file onto this batch file", clearly. Compare that to this and it's very easy to see how the one could seem more user-friendly than the other to somebody who isn't already used to building software (a large number of users, I expect).

User avatar
raoulduke-esq

04 Jun 2021, 18:22

I mean, there’s a GUI configurator for noobs but I appreciate the clarification for sure! I use a lot of weird boards and layouts and a lot of customization so the process of “make the key at this position do this” is more intuitive to me than “find out what this key does/is called and then tell it to do something else” but that’s just me.

I’m sure glad we have choices so everyone can find what works best for them!

User avatar
an_achronism

04 Jun 2021, 18:30

raoulduke-esq wrote:
04 Jun 2021, 18:22
I mean, there’s a GUI configurator for noobs but I appreciate the clarification for sure! I use a lot of weird boards and layouts and a lot of customization so the process of “make the key at this position do this” is more intuitive to me than “find out what this key does/is called and then tell it to do something else” but that’s just me.

I’m sure glad we have choices so everyone can find what works best for them!
I'm still new to this so the first thing I used for my first F was Soarer's code, on the basis that I could pay a relatively low amount of money to someone locally to make me a converter with a basic 3D printed case that was ready to go, then tweak it to my liking. Now that I've done that though, I've seen its limitations as well, and I'm keen to reflash the same converter with TMK. I would have made one myself with TMK on it to start with if I'd not been impatient (also I don't have anything to encase the Pro Micro / Teensy in so anything I make will look janky af). But I'm going to be making some converters for other boards imminently anyway so...

User avatar
raoulduke-esq

04 Jun 2021, 18:56

an_achronism wrote:
04 Jun 2021, 18:30
I'm still new to this so the first thing I used for my first F was Soarer's code, on the basis that I could pay a relatively low amount of money to someone locally to make me a converter with a basic 3D printed case that was ready to go, then tweak it to my liking. Now that I've done that though, I've seen its limitations as well, and I'm keen to reflash the same converter with TMK. I would have made one myself with TMK on it to start with if I'd not been impatient (also I don't have anything to encase the Pro Micro / Teensy in so anything I make will look janky af). But I'm going to be making some converters for other boards imminently anyway so...
Thanks to our very own Orihalcon the Soarer's converter is by far the easiest point of entry to get folks from 0 to using an awesome classic board in a single purchase.

I'm not a big fan of the janky look either and don't have the time to invest in learning 3D modeling so here's the solution I've arrived at for my Pro Micro based converters. I use a simple project box and cut holes in it using the drill or snip method and then hot glue things down inside. Pro Micros get glued to the lid, the rest of the parts get glued to the base. I find them less janky than a bare solution or than the heat shrink editions out there, but not nearly as clean as what Orihalcon does or some of the custom 3D printed things others have done.

BOM:
Project Box
Optional magnetic cable to protect the Pro Micro's delicate socket - extra tips available separately
Pro Micro
Some flavor of breakout-style connector for what I need:
https://www.amazon.com/gp/product/B0814LTB6L/
https://www.amazon.com/gp/product/B08HGS5G8N/
https://www.amazon.com/gp/product/B083925STQ/
https://www.amazon.com/gp/product/B01HM6UBN0/

Here are some finished products:
IMG_0638 copy.jpg
IMG_0638 copy.jpg (915.74 KiB) Viewed 3514 times
IMG_0636 copy.jpg
IMG_0636 copy.jpg (1.74 MiB) Viewed 3514 times

User avatar
an_achronism

04 Jun 2021, 19:59

raoulduke-esq wrote:
04 Jun 2021, 18:56
I'm not a big fan of the janky look either and don't have the time to invest in learning 3D modeling so here's the solution I've arrived at for my Pro Micro based converters. I use a simple project box and cut holes in it using the drill or snip method and then hot glue things down inside.
This is really helpful, thanks.

User avatar
an_achronism

04 Jun 2021, 21:31

raoulduke-esq wrote:
04 Jun 2021, 16:39
Wait a sec... the argument around here is always "TMK/QMK so awful have to recompile I can't be bothered to edit a text file and recompile". What is this? This sounds like editing a text file and compiling? Am I missing something?
To be clear btw: unless I'm being thick here, I'm pretty sure the only way of writing new TMK or QMK to a Pro Micro or Teensy board is to short Reset (RST) every time. Teensy has a button at least, but you still need access to it, physically, to do the reflash. The most crucial thing that Soarer's code does is work around this somehow and I have no idea how it manages it.

If TMK and by extension QMK were able to achieve that one key thing, the ease of use would be *significantly* improved. I change layouts a lot and experiment with remapping, so to have to short pins every time is kind of a huge barrier depending on the way the converter is constructed. I guess I might have to consider building buttons into any converters I make so I can reflash easily...

User avatar
raoulduke-esq

04 Jun 2021, 21:38

an_achronism wrote:
04 Jun 2021, 21:31
To be clear btw: unless I'm being thick here, I'm pretty sure the only way of writing new TMK or QMK to a Pro Micro or Teensy board is to short Reset (RST) every time. Teensy has a button at least, but you still need access to it, physically, to do the reflash. The most crucial thing that Soarer's code does is work around this somehow and I have no idea how it manages it.
You're not being thick- there's just a non-obvious solution. For all of my keymaps I make sure RESET (QMK) or BTLD (TMK) is somewhere on my layout- usually on a separate layer. That way I only need to short the pins once. Every time I need to flash after that, I just hit the key combo that triggers the reset command.

I also load this firmware/keymap on the Pro Micro before I wire it up or put it in the case. This lets me confirm it's not dead before I put in a bunch of work and makes it easier to short the pins the first time.

User avatar
an_achronism

04 Jun 2021, 21:40

raoulduke-esq wrote:
04 Jun 2021, 21:38
You're not being thick- there's just a non-obvious solution. For all of my keymaps I make sure RESET (QMK) or BTLD (TMK) is somewhere on my layout- usually on a separate layer. That way I only need to short the pins once. Every time I need to flash after that, I just hit the key combo that triggers the reset command.

I also load this firmware/keymap on the Pro Micro before I wire it up or put it in the case. This lets me confirm it's not dead before I put in a bunch of work and makes it easier to short the pins.
Funnily enough, I just discovered the BTLD function in the documentation, so that explains that and solves the problem. There you go then! Thanks.

Next stop: working out what "transparent" means! TO THE DOCUMENTATION STATION

User avatar
raoulduke-esq

04 Jun 2021, 22:13

an_achronism wrote:
04 Jun 2021, 21:40
Next stop: working out what "transparent" means! TO THE DOCUMENTATION STATION
Let us know if you need help! So much cool stuff you can do as you find out how deep the rabbit hole goes...

User avatar
Bjerrk

04 Jun 2021, 22:45

an_achronism wrote:
04 Jun 2021, 21:40
Next stop: working out what "transparent" means! TO THE DOCUMENTATION STATION
Transparent usually just means that the key inherits its action on a certain layer from the layer below. But you probably figured that out in the meantime :P
I like to leave e.g. the arrow keys and the F key as transparent, since they're nice to have for navigation and to enter/exit full-screen mode in videos, regardless of the layer.

User avatar
an_achronism

05 Jun 2021, 01:49

Bjerrk wrote:
04 Jun 2021, 22:45
Transparent usually just means that the key inherits its action on a certain layer from the layer below. But you probably figured that out in the meantime :P
Indeed I did, hahah.

I don't want to hijack this thread but maybe this will give OP some ideas for their own board, so screw it, I'll post this anyway.

Consider this a work in progress but it's a start, significantly more powerful for the XT imo than what you can do in Soarer's more straightforward implementation.

Basically...
  • Caps Lock -> Alt Gr
  • Ctrl is Ctrl if held, but Esc if tapped (mostly for vi)
  • F6 (to the left of Ctrl) is F6 if tapped but becomes the left Windows key (LGUI) if held, since I use that key for shortcuts frequently and usually map it to the Caps Lock key position on Enhanced boards
  • Esc is still Esc (so that Ctrl + Shift + Esc works) but...
F9 (lower left corner) goes to another layer when held (otherwise still F9) which does the following:
  • Esc becomes ` (which on UK layout Shifts to ¬ or with Alt Gr is ¦)
  • Ctrl becomes Win/Super (LGUI), which is sort of an inherited thing from me usually remapping Caps Lock to this key on Enhanced layout boards (since Ctrl is in that position on the F XT); since I already mapped it to F6 for shortcuts, I can only imagine ever using this to open the Start menu on Windows, but I can do that with Ctrl + Esc anyway... this is basically just in case my muscle memory gets confused and does something dumb
  • Media controls to match the ones I've previously been using via an AutoHotkey script I wrote for myself a while ago: =+ and -_ are vol up and down respectively (as are num pad + and -), num pad 0 is Mute, [{ and ]} are prev/next track, Enter is Play/Pause, Backspace is Stop (as is num pad Del)
  • The missing F11 and F12 keys are on Num Pad and Scroll Lock respectively, and F1–10 are on the number row. I already use - and = for volume and I prefer that at this stage, might change but probably not; on the F77, I have two available Fn keys on the bottom row, so I could simply use the left one as the F1–12 layer switch and the right one as the media control layer switch, so that one will use - and = as F11 and 12 and the other will turn them into volume controls... but I think my planned F77 layout is going to have Num and Scroll Lock anyway so I could just keep doing what I'm doing here on the F77 as well.
  • The XT * key does Print Screen, which it doesn't do otherwise because it's mapped to the "num pad *" scancode and that has nothing to do with Print Screen (I don't think there's an exactly equivalent scancode in Set 2 for the XT * & Print Screen key)
  • F1 becomes a layer switch into a very sparse Layer 7, on which Esc triggers bootloader mode on the Atmega32U4 IC so I don't have to keep pissing about shorting pins every time I want to flash a new keymap. So F9 goes to Layer 1, then F1 goes to Layer 7, then Esc is bootloader mode (i.e. F9 + F1 + Esc to reflash)
F1 goes to a "num pad" layer when held (otherwise still F1 if tapped) which does the following:
  • 0–9 change to the number row keys (i.e. will be numbers even if Num Lock is off)
  • Del/. changes to .> key (i.e. Del -> . instead of staying as Del if Num Lock is off)
  • Num Lock becomes / for division
  • Scroll Lock becomes * for multiplication
  • Enter becomes =
I wondered if there would be any odd behaviour caused by the dual function "tap does one thing, holding down does another" thing, and indeed there is: on my num pad layer, there's always a very short delay before the first character appears, but it immediately catches up, so you can still just go ahead and type quickly without hassle but the very first number will always appear a little late. It's a minor annoyance but probably makes little to no practical difference; I could avoid it if the XT had more keys so I could have a fully dedicated function key / layer switch, but I kinda need everything on the board. I could make Caps Lock a dedicated layer switch but my Alt Gr does some pretty heavy lifting and things like Caps Lock + Alt + Shift + key are pretty ridiculous key combos I'd rather avoid.

I *might* flip the logic of the "hold layer switch for momentary num lock" around, such that it assumes Num Lock will always be on (i.e. you'd hold the layer switch key for the nav functions instead of the numbers), but I suppose I probably use the num pad navigation more frequently than I use the numbers since the XT has no dedicated nav cluster, so I'm going to try this way round initially.

This will all become rather quaint once my F122 arrives (currently sitting in Customs) but I'm glad this lets me turn the XT into a far more powerful tool than it otherwise might be!

wim_board

05 Jun 2021, 11:37

Hi all,
This is such a great forum, lots of helpful people.
I pretty much now what I need to do now. I _will_ do more research, but I'll ask here too. Inventing the wheel and all that. (There's probably a library... Damn those open source enthusiasts!)

I'd like to use TMK for this. Write a few functions and combos. Even better would be to find the actual code for the Soarer's converter. Is it not on Github?

If I use TMK, do I need to set the pins anywhere?

Can I use QMK?

And finally, how do I flash it onto the converter (no pins to short, no reset button).

wim_board

05 Jun 2021, 16:18

wim_board wrote:
05 Jun 2021, 11:37
Even better would be to find the actual code for the Soarer's converter. Is it not on Github?
Solved - converter is closed-source.
wim_board wrote:
05 Jun 2021, 11:37
And finally, how do I flash it onto the converter (no pins to short, no reset button).
Solved

Post Reply

Return to “Keyboards”