First off,
`

- sohot.jpg (43.41 KiB) Viewed 26462 times
Jean-Loup wrote: 14 May 2022, 04:10
QUESTIONS TO THE COMMUNITY
Before getting into them, since we are going to be talking about key outputs & remappings & layers, a quick keyboard primer would probably be helpful:
When you press a key on a keyboard, like say the '1' key, the keyboard isn't transmitting (the ASCII or Unicode encoding of) a literal number 1. Rather, it's telling the computer that "the key that is (as us mere humans would describe it) the second key from the left in the top row got pressed". At that point, the (software on the) computer has to decide how it is going to respond to that particular key getting pressed. Generally, it responds by outputting a numeral 1. But it doesn't
have to: that's just conventionally what most do, because that's the legend that is printed on that key cap on most keyboards. But the computer software
could be reprogrammed to do something different in response to that particular key getting pressed.
Likewise, you can also (re)program a keyboard to tell the computer that a different key got pressed than the one that actually did: you could (in a sense) tell the keyboard to "lie" to the computer and say that the 3 key got pressed instead of the 1 key. The computer wouldn't know, so from its perspective, you pressed 3 when you actually pressed 1. (I mean, at the end of the day, what's printed on the key and what spot on the 'board you put that key cap on is arbitrary, right? But generally speaking,
most reasonable people want them to match up as well as be located in a relatively sane arrangement.

)
So the determination re: what happens when a given key gets pressed is a result of a combination of
both the keyboard
and the computer taken
together, not strictly one or the other.
That said...
Jean-Loup wrote: 14 May 2022, 04:10
1. I have a key as part of my F77 purchase that I do not see in Andrei's QMK configurator - the number 2 key in the number row with @ and € symbol (FYI - identical to the number 2 key on my UK macbook laptop), but I don't see any equivalent option on the QMK configurator. Is this a known issue with the QMK configurator? I don't even see the € symbol anywhere on the configurator website...?
Just because none of the software that configures the key mappings is aware of that particular character doesn't mean anything. If you press the '2' key on your Model F, it is going to send the exact same sequence to the computer that the laptop's built-in keyboard sends if you press
its '2' key. From the computer's perspective, it's the exact same keystroke that happened, regardless of the source. Thus, any modifiers that you add to that keystroke will also behave identically: if you have told macOS that you are using an ISO UK layout keyboard, and Option + Shift + 2 or Option + 2 (or whatever the combo happens to be) normally causes the computer to output the Euro symbol, the same thing will happen when you press whatever key on your Model F you've configured to be the '2' key. The decision to output that symbol when that particular key sequence is seen is a decision that macOS is making, not your keyboard.
Jean-Loup wrote: 14 May 2022, 04:10
2. Can anyone vouch for the ease and accuracy of following this step-by-step video guide for a complete newbie using Andrei's QMK configurator on a f77 and a Mac?
I just watched them, and I'd say yes: those are generally correct. In particular, QMK Toolbox is absolutely the right solution for flashing a QMK-capable keyboard on a Mac for sure. The things I would add and the caveats I'd give would include:
- The MCU on the controller for this keyboard is the ATmega32u2, not the more common u4. Make sure to choose correctly.
- You cannot force this keyboard into bootloader mode using either the "Bootmagic" or "Bootmagic Lite" methods that the second video shows. Depending on what firmware it is running, you may be able to use LShift + RShift + B while the keyboard is plugged in, or there may be another key sequence that has already been mapped to "bootloader mode" like Fn + Spacebar + R is on most stock 'board firmwares from Ellipse. Or you may have chosen a different combo whenever you last configured the keyboard.
- If no key sequence seems to kick the keyboard into bootloader mode, you can try to see if the pandrew utility can detect it, and if so, use it to force the keyboard into bootloader mode.
- If all else fails, this keyboard does not have any kind of reset "button" on its circuit board as the video discussed. Instead, it has 2 open pads that need to be manually shorted together while you plug the keyboard into the computer. Ellipse's manual on his site has more information, as do posts further back in this very thread.
If I were you, though, I'd strongly consider flashing either VIA or Vial firmwares to your keyboard. They are (two different variants of) QMK-based firmwares that give you the added benefit of being able to change keyboard config/key mappings without reflashing every time you want to make a change: instead of going to a web site, compiling and downloading a hex file, putting your keyboard into bootloader mode, and then flashing it, you just run an app on your computer that lets you change your keyboard layout in real-time. You flash your keyboard once, and then after that never have to flash it again (unless
e.g. a firmware update comes out that fixes a bug that's annoying you).
Jean-Loup wrote: 14 May 2022, 04:10
3. Okay, so on a keyboard on a Mac, how do you activate a "layer"? (as in the QMK programmable layers...) Sorry, this feels like it must be such an obvious question, but I truly don't have a clue.
Part of the answer is that it has absolutely nothing to do with whether you have a Mac or not...that part of the equation is absolutely immaterial and doesn't change the answer to the question in the slightest.
This again goes back to the first principles I opened with. A "layer" in QMK is just a way of being able to have more available keys to press than you have physical keys that are present on your keyboard. You can think of them as "virtual" keys, if that's at all helpful. You designate a particular key as a special modifier key that causes QMK to select a different "layer" when you press it. At that point, if you press another key while holding down that layer-selecting key, the function of the key you press can be completely different than if you weren't pressing the layer-selecting key. So for example, you could configure a second "layer" of keys on your keyboard where the spot that is normally occupied by the 'B' key causes the keyboard to instead send a Tab. You can then configure QMK to use Caps Lock to select this second layer. Then if you press Caps Lock + B, the keyboard sends the same code to the computer that it would send if you pressed the actual Tab key.
This is a rather mundane example of course, just to explain the concept. Where it can become truly useful -- especially in the case of a keyboard with fewer-than-average keys on it like the F62 or F77 -- is that if there is a key that you just can't live without but for which there is no open spot, you can stick it on a second layer and access it that way. Or you can map a macro that's built into the keyboard to keys on the second layer, etc.
The crucial way that this whole concept differs from when you're using other common modifiers like Shift / Control / Option / Command / etc. is that the computer
knows and
is aware that those other modifier keys are being pressed, and the computer is involved in determining what happens when you employ a key chord that includes one or more of those modifiers. But the key you designate to select a QMK layer
doesn't send a key-down event to the computer. 100% of what's taking place there is taking place wholly within the keyboard alone, and the computer has no idea that additional key is being pressed. So in the above example, if you make Caps Lock your select-2nd-QMK-layer key, not only is it no longer acting as Caps Lock, but your computer has no idea that Caps Lock got pressed when you did Caps Lock + B. From the computer's perspective, it only saw Tab happen. Not some analogue to Shift + Tab or Caps Lock + Tab or (Mac) Fn + Tab ...
just plain ol' Tab.
Jean-Loup wrote: 14 May 2022, 04:10
4. How would I program the numbers row keys to act as function keys? So that when I press fn + 1 = F1, Fn+2 = F2, etc?
This is exactly where the QMK layers thing comes in handy: as noted, there is no dedicated function row on this F77 keyboard, and real-estate on a board with fewer keys on it is valuable. So: if you don't want to lose additional keys on your keyboard (like for example the right 3x5 block of keys) to act as dedicated F1-F12 keys, you instead put F1-F12 on a second QMK layer, and naturally the top number row is a great place for that. Once you pick a key on the 'board to be your QMK "Fn" (second-layer-select) key, you press that key plus the appropriate number key to get the keyboard to output F-whatever to the computer.
The default layout that Ellipse pre-loaded onto your keyboard should already have this set up for you, but if you compile a new QMK firmware for yourself, you will have to reproduce this if you want to maintain it. If you didn't get Split Right Shift option, then by default the key normally labeled Ctrl on the bottom-right is acting as QMK second layer select ("Fn" for short). So you'd press RCtrl+2 for F2 out of the box. If you have a Split Right Shift, the key to the right of Shift is your QMK "Fn" key by default.
Note that "Fn" in this context has nothing to do with the key marked Fn on your MacBook's built-in keyboard, whose sole purpose is pretty much to allow you to use the top F1-F12 row to either act as actual F-keys or to act as the shortcuts for certain system functions (volume up/down, screen brightness, etc.). As far as I know, there is no way to duplicate that key within QMK. Would love to know if I'm wrong...
Hopefully this is starting to "gel" for you now a bit after reading all of this, and now that you know some of this stuff, it may influence how you've been thinking to re-arrange your keyboard. For example, you didn't designate any key (at least that I can see) to be a (QMK) "Fn" key, which I dare say is going to make your life more difficult! (In QMK parlance, the layer select key is called "MO" for MOmentary layer select [only is selecting the layer as long as it is being held down]. Layers are zero-index, so the 1st layer is layer 0, the 2nd layer 1, etc. Layer 0 is the "default" layer and is what you do all of your regular key mapping on. To program a key to act as the second-layer-select, you would configure the action for that key to be MO(1) for MOmentarily select layer 1. The MO(x) key function is located under the Quantum tab of QMK Configurator.)
Congrats if you managed to read through all of that, and hope this helps.