Gaming Layer (based on default QWERTY)


(Jan) #1

Hi All,

I’d like to propose and mock up a Gaming layer for the Model 01.

Edit: included layout in original post.

The current problem with the default QWERTY layout for gaming lies with the shape of the Model 01. This was covered in the previous discussion around WASD/ESDF. WASD vs ESDF for mouse movement keys

Gaming on a regular keyboard requires one to shift their hand one column to the left in order to utilise WASD as the new home position and access Shift, Ctrl, Tab with your pinky as modifiers. Doing this on the Model 01 will completely negate the point of using an ergonomic keyboard.

In that thread there were several observations made that identified a use for a gaming layer based off QWERTY that could be switched to whilst gaming. I see two advantages to this:

  • Those who come from a different typing layout such as Dvorak, Colemak or Workman wouldn’t have to remap keys at the beginning of every game, they can just switch to this QWERTY based layout that will work with default key configurations that comes with the game.
  • This layer could account for the ergonomic shape of the Model 01 and put frequently used keys and modifiers closer to the home row for more comfort, reducing the need to awkwardly position the left hand in a place that negates the ergonomic curve.

The first suggestion I would make is moving the letter keys over one column to the right, so that WASD lines up with ESDF on the default QWERTY layout. This would maintain ergonomic comfort for the majority of people who use index, middle and ring fingers for movement in games as it preserves the intended home row position. This was the main discussion in the aforementioned thread.

I would then suggest moving Tab, Shift and Ctrl next to Q, A and Z respectively (Tab = R1C1, Shift R2C1, Ctrl = R3C1). Some games require chording and a frequent use case is holding Shift to sprint whilst using WASD to move and pressing Space to jump. If Shift stays on the thumb keys then chording Shift and Space would be difficult.

Thirdly, Space would have to be located on the left Thumb arc in order to be access by the left hand. The right hand will in most use cases be on the mouse so commonly used keys will have to be rebound to the left half.

These are just some starter suggestions. I’ll start working on a visual representation of this layout soon and will post it in this thread for others to feedback on. It’ll be much easier to understand and comment on this way.

I’ll be optimizing my version of this layout with mainly first person shooters in mind, as they have the most need for quick reflexes and will benefit the most from having the corresponding default keys in convenient comfortable places for easy chording. Most other game types that I considered, be it racing games or isometric RPG’s, will also benefit from having WASD in a more ergonomic position but won’t demand much else for comforts sake due to their lack of chording.

In regards to occasionally used keys located on the right keyboard half, such as using M to mute in PUBG or pressing P to bring up the voicechat menu in Overwatch, I think a good compromise would be to keep the right half of the keyboard mapped in the default QWERTY layout and just physically locate the right half of the keyboard north the left half and using either hand to press that particular key when needed. This is currently the arrangement we’re using with our Mistel Barocco split keyboard (see below). There’s no pressing ergonomic need to remap the right half since it would be used for single key presses, unlike the left half which would permanently keep the left hand positioned over WASD.
NB: This is assuming one uses their left hand on the keyboard and right hand on the mouse.

Locating the right half of the keyboard north of the left half would also mean you could use your mouse more ergonomically in the space where the right keyboard half normally resides.


I also use lower mouse sensitivity for aiming in game so the extra mouse space makes all the difference when it comes to comfort and ergonomics.

For typing, I keep the keyboard in this position with the mouse just to the right of it.

Traditionally, this is how I used to game, with the mouse all the way to the right which can’t be great for the shoulders, especially with low sensitivity aiming requiring long movements.

I’ll start tinkering with what this should look like however as someone still waiting to receive their Model 01 I would love to get some feedback from the gamers here who already have their Model 01 with them.

Cheers all,
Jan


Error: "macro "KEYMAP_STACKED" requires 64 arguments, but only 62 given". Help please
(kajsa.anderson) #2

I haven’t got my Model 01 yet, but have been thinking about working on a gaming layer first for my Atreus and eventually for the M01. I’ll probably base mine on Dvorak, though, because I’ve already got all my WoW keybinds remapped (it’s a running gag in my guild to never ask me the keybind for anything because it’s almost guaranteed to be remapped).

For my priest (and any healer alts), I need easy access to Shift, Alt, and Ctrl, (in that order of preference, and sometimes in combination), most of the left side of the keyboard, and 6-0 for additional actions. Thanks for sharing the pic - that kind of set up would probably help a lot with the shoulder pain I have when the mouse gets too far to the right.


(Bart Nagel) #3

I wouldn’t use this.

  • Modern games often guide the player near the beginning and when new abilities/features come about, such as telling the player “press X to mafipulate cromulently”. This could talk about any arbitrary key. Given that this circumstance is usually telling the player about a key they’ve never used before in the game, it would be very confusing to then press the key labelled X and not have anything happen (or have the wrong thing happen), due to the keys being remapped on the gaming layer.
  • In online games (and some non-online games) the player sometimes wants to type, such as sending a message to other players if voice isn’t available or is undesirable. Wouldn’t the player have to toggle the gaming layer on and off each time he or she wanted to type? Seems like a pain.

I also have subjective reasons:

  • I type on Dvorak and so am used to remapping the keys for all games. (Except nethack :wink:.) It’s easy and fast and is absolutely not a barrier to gaming.
  • Even if I weren’t using Dvorak I’d want to remap the keys anyway – the defaults almost never seem optimal to me.

(Jan) #4

I plan on learning Dvorak when I get my Model 01. I assume the best time to get used to a new layout would be when getting used to a new keyboard itself. This makes both your experiences incredibly valuable to me as I still don’t know what it’s like to game on a Dvorak layout.

Both of you mentioned you rebind habitually since you use Dvorak (an upside of which is rebinding to preferred keys). Does that mean that every game you play you need to rebind every key to correspond to Dvorak? My assumption was that the games default bindings would correspond to a QWERTY layout. If you’re using a Dvorak layout, does the game automatically adjust and use <AOE instead of WASD or do you need to repeat this step manually for each game?
Having a gaming layer that adjusts a games default bindings would mean skipping this process and only rebinding those keys that better suit your preferences (and in my experience I rarely do this anyway as I find the defaults good enough for my purposes). That was part of my intention in creating such a layer as mentioned in the original post.

bjn, In regards to games guiding players by telling them to press X for example, do you mean the symbol printed on the physical keycap won’t match the character produced if using this gaming layer? I had intended to use the blank laminated keybind chart to mark this layout when I get my Model 01 and use that as a guide while I get used to both Dvorak and this gaming layer. Printing customised keycaps for this gaming layer is a solution I wouldn’t suggest at this stage since it makes little sense to me to replace keycaps for a layer that is only situational. I assume this would be the case for every situational layer.

One solution for typing whilst in this layer could be assigning the preferred typing layout to a function layer. That way toggling between the gaming layer and the typing layer would be as easy as accessing the function layer using the Right half palm key (R3C9) as a fn key for example. Not sure if this is possible due to my lack of programming experience but it doesn’t sound too farfetched to a novice.

Also can anyone please point me in the right direction for what programming languages the Model 01 firmware uses? I want to start watch youtube tutorials on the subject to get familiarised but no idea where to start.


(Gergely Nagy) #5

There are some games that offer layout-specific bindings, but only if you set your layout on the OS side. Most games don’t even do this, and a lot of us have our computer set to QWERTY, and made our firmware talk Dvorak instead. So, yeah, I rebind every game I play. The reason I do this instead of having a gaming layer is because every game is different, every game I play, I rebind them similarly, but not the same.

The firmware is written in C++, and follows a lot of Arduino conventions. If you read a bunch of Arduino tutorials, that’ll get you a long way.


(Jan) #6

There are some games that offer layout-specific bindings, but only if you set your layout on the OS side. Most games don’t even do this, and a lot of us have our computer set to QWERTY, and made our firmware talk Dvorak instead. So, yeah, I rebind every game I play. The reason I do this instead of having a gaming layer is because every game is different, every game I play, I rebind them similarly, but not the same.

Thanks for clearing that up. :slight_smile:

The firmware is written in C++, and follows a lot of Arduino conventions. If you read a bunch of Arduino tutorials, that’ll get you a long way.

Thank you. I’ll get right on it.
Köszönöm szépen!


(Bart Nagel) #7

Does that mean that every game you play you need to rebind every key to correspond to Dvorak?

Yeah, I bind what is usually wasd to .oeu (these correspond actually to esdf, since I like to be in the home position), and most of the other keys used in the game too. It’s really easy. I don’t think of “walk forward” as “dot” just as I don’t imagine you really think of “walk forward” as “w”. It’s just the key at the top under my middle finger.

If you’re using a Dvorak layout, does the game automatically adjust and use <AOE instead of WASD or do you need to repeat this step manually for each game?

Some games do, others don’t. I go through the binding process in every game regardless, because it isn’t obvious which games figure it out and which don’t. (I don’t yet have my Model 01s, and my OS is set to the UK Dvorak map, rather than the keyboard speaking Dvorak natively.) Regardless, I want home position rather than shifted-left position, so I would want to rebind anyway.

In regards to games guiding players by telling them to press X for example, do you mean the symbol printed on the physical keycap won’t match the character produced if using this gaming layer?

Yes. Game says “press X to mafipulate” and you have to try to remember which key is currently mapped to X (if there even is one! remember, you are intending to remap only one side of the keyboard!) and press that. What if the game is using a default binding rarely used in games? What if that’s difficult to reach in your gaming layer, or doesn’t even exist on the keyboard?

I had intended to use the blank laminated keybind chart to mark this layout when I get my Model 01 and use that as a guide

That’s just another layout of keys to learn, which you will never actually type on. A particular key being “X” for the gaming layer will not really have any true meaning as “X”, it’ll be “crouch” or whatever, so it seems like it would be very difficult to memorize. Seems needless.


(Michael Richters) #8

If you’re playing a game where you can re-map lots of keys, I hope the game designers haven’t also included a “press X to mafipulate” feature, since you may have already mapped “X” to “defenestrate”.

So many games share a common default function/key map (WASD) that it does make sense to me to create a layer for the purpose, which could certainly save time when the next FPS comes along, or you next reinstall one, and you don’t have to dig out your chart of remappings that you use for every single game. It may not be worthwhile for some people, but that doesn’t mean it’s pointless for everyone. @kurwazajebista — I think your ideas for this are good, even if you don’t find anyone else who wants to use what you come up with.


(Jan) #9

Having a gaming layer would automatically do this for you so you wouldn’t have to rebind. Staying on the home position is more important on the Model 01 than a regular keyboard because of the ergonomic curve.

I’ll need to make up a mock layout so you can see what I mean as there seems to be some confusion. I don’t have time to make one up now. I’ll try to get stuck into it next week. For now, I hope this picture will clear a few things up.

This a picture of the Mistel Barocco. It’s the keyboard I’m currently using. It has 6 columns of keys on the left half.
The Model 01 has 7 columns.
I propose layering that Mistel left half layout over the Model 01 left half. This would shift every letter key once over to the right on the Model 01 so WASD will be where ESDF is. The right half of the Model 01 would be unaffected because there’s an extra column on the left half to fit the layout (all the extra LED, Any and Butterfly keys come in handy for this) This also preserves the default QWERTY layout so you will have access to every key the developers want you to access, in the position the developers assume you’ll have it, including frequently used modifiers such as Shift.

You could do this manually by rebinding every key in every game, regardless of what typing layout you use. Or you can save a Gaming layer that defaults all these keys to the logical position.
Those coming from a QWERTY layout will have an easier time adjusting because the layout they’ve memorised, practiced and trained into instinct will be exactly the same, just in the logical ergonomic position. This comes back to the need you identified when proposing the mouse directional keys should be moved from WASD to ESDF on the default Model 01 layout. Having an ergonomic keyboard sculpted for your hands doesn’t make sense if you end up using it not in the home row position. This is all this aims to fix.

Think of this as a gaming controller layer. This gaming layer will simply tell the computer “use R1C3, R2C2, R2C3, R2C4 as directional keys instead of R1C2, R2C1, R2C2, R2C3” and the easiest way to achieve this is by overlaying the default QWERTY layout to match that position. You shouldn’t have issues concerning default bindings that are difficult to reach or don’t exist because all bindings will simply be replicated from a QWERTY layout.

Coming from a traditional QWERTY layout for the past 15 years, I instinctively reach with my pinky to hit Shift if I want to Sprint in a game. Instead of remapping Shift to R2C1 every game, if I made a layer that already has Shift in the default traditional QWERTY position I could just shift to that layer and game. I’d only have to rebind Shift to that key once when making this layer, instead of having to do it every game.

You would use it as a controller layout and if we can make the right palm key function as a toggle for your preferred typing layer, it would make it possible to type messages whilst gaming unimpeded.

Thanks!


(Bart Nagel) #10

If you’re playing a game where you can re-map lots of keys, I hope the game designers haven’t also included a “press X to mafipulate” feature, since you may have already mapped “X” to “defenestrate”.

The games I’m thinking of (Valve ones) are fully aware of your remapping, since it was done within the context of the game, and so if you’ve remapped “mafipulate” to Y instead of X, it’ll say “press Y to mafipulate”.


(Bart Nagel) #11

Yes, I realize that. I was merely pointing out that I’m used to rebinding keys in every game anyway, so at least for me it’s no added barrier.

Oh, I’m totally with you there.

Okay, I think I understand a little more now that you’ve talked about the far right column of the left half.

Say the game has a default bindings for 5, T, G, and B. I’ll ignore 5 for now, because I don’t know what your plan is there (will it send a “4” or a “5”?).

If you want the game to hear “T”, what will you press? led, I guess, since it’s in the right sort of area? For G you’d press tab, and for B you’d press esc? There’s no key in that column above led, so to go back to the 5 issue I guess 5 would have to send 5. If so, now 3 is above your “move forward” key, while most players are used to 2 being above “move forward”. So that’s a change.

But now what if you want to press “tab” to bring up scores or a map or whatever? Pressing tab sends G! So I guess you’d map Q to “tab”, since that’s where tab is relative to the other remapped keys on a qwerty keyboard? I suppose that would then be extended to A being caps lock and Z being left shift, and then left control… would not be in its qwerty keyboard position relative to your hand, because there’s no key there on the Model 01. So it’d stay on the key labeled control on the thumb arc, I’d presume.

With all of this, led, tab, and esc have been overridden. Overriding led is a shame since I can imagine wanting to change the backlight mode on the keyboard while playing a game. Maybe you’d move this and esc to the left column, which would be otherwise unused on this gaming layer? Their new positions would have to be memorized by the player.

That wasn’t quite my point – this was separate from the typing issue. (But incidentally I don’t imagine typing while holding a palm key the entire time would be comfortable, especially if you need said palm key to produce a symbol you want to type.)

Maybe I’ve cleared up my confusion you mention above, if the rightmost column’s keys are moved to the leftmost column – yes, there would then be no missing keys.

Or maybe you don’t understand what I’m saying about on-screen binding hints? Consider now that usually a game will have the “core” movement keys on the left hand and a couple of other common ones like reload or crouch or toggle torch or use item. Many games will use only these. But then the games which do want a bunch more keys (I’m thinking games with lots of spellcasting and items which the user might bind on the fly, or with lots of commands to give to units under your control), these non-core keys tend to be used less frequently, and there tend to be reminders given by the game (“X to mafipulate” like I said before, or the bound key listed right on screen next to the item or action, maybe even as a tooltip). These hints will no longer correspond to labels on actual keys. They’ll correspond only to where a key would be relative to you if you were on a qwerty keyboard and your hand were one place to the left. That’s not something I would want to have to visualize in a heated moment of a game. Do you see what I mean?

These keys, sure, but not that many others. Shift to run, space to jump. Maybe R to reload (though that’s just as commonly on T in my admittedly dated knowledge of shooter games). Numbers are often for switching weapons. But aside from those there really aren’t many in common I can think of at all.

If you use the same mappings in every game, you know them, and don’t need a chart for them, so I don’t think I see your point here.

Oh that’s totally fair. I absolutely agree. If people find it useful, that’s great. I’m just seeing a lot of new issues it raises, and in my opinion the only problem it solves (that is, 30 seconds of binding keys when a new game in installed) is a minor one compared to those issues.


(Jan) #12

Okay, so I’ve mocked up a layout. Here it is!

The only keys I’ve changed are the ones with the upper right blue characters included. The blue characters tell you what the default QWERTY layout is that the Model 01 will ship with. Makes for easier comparison.

The right half of the keyboard is relatively unchanged. The only differences on the right are assigning the ‘Any’ key as a ‘Layer’ key, and moving the LED key to the ‘Ƹ̵̡Ӝ̵̨̄Ʒ’ key.

The left half of the keyboard has alpha keys moved one column to the right and has Tab, Shift and Ctrl modifiers occupying Column 1 in the order found on traditional QWERTY keyboards.
The thumb arc has Ctrl, Alt and Space left to right in the order found on traditional QWERTY keyboards. The Shift key on the right of the thumb arc is a spare.

I can’t think of many games that use Capslock as a default key so I haven’t bothered including it. Page Up can be rebound to Capslock if anyone thinks it’s necessary.

I’ve left the numbers where they are because I don’t think their placement will affect ergonomics. It was more important to have WASD located in the centre to ensure the hand will be based on the home position.

I look forward to everyones feedback!


(Jan) #13

You’re right, I missed your point! No, the onscreen keybinding hints won’t correspond to what’s printed on the keyboard. That will be a disadvantage of doing it this way.
I had called this a ‘layer’ instead of a ‘layout’ because I intended for this to be an easily switched to layer that will naturally be different to what’s printed on the keycaps.
I’m planning to use blank keycaps anyway so it wasn’t on my mind.

I touch type QWERTY so when I see “Press C” I don’t have to look down to confirm which key it is, I know how far to stretch my left index assuming my hand is in the base position.

What’s important is the placement of those keys. Every game developer assumes that TAB is located next to Q, etc. By maintaining those common placements with this layer, we can ensure that the default keybindings in any game will correspond to what we have here.

Thank you for this feedback. I moved LED to the butterfly symbol on the right side of the board so it’s still available.


(Michael Richters) #14

In that case, @kurwazajebista’s idea for a “game controller” layer is logically equivalent to your own practice of rebinding keys. If I have such a layer, I’ll know where the “Y” key is, because it’s always in the same place, and if it’s so rarely used that I don’t remember, I can either glance at a reference card, or switch to a typing layer.

This is a pointless objection — you’re happy with the way you do it, so stick with that. Why hassle someone who wants to try something different just because you don’t want to try it?


(Michael Richters) #15

…and if you use the same layer for every game, you’ll know the keymap, and won’t need to look at the keyboard…


(Michael Richters) #16

On another note, if I ever get around to playing a first person shooter or similar game again, I’m pretty sure I’ll need a separate game controller layer regardless, because I intend to use DualUse modifiers on my base typing layer letter keys.

I don’t know if I’ll want to base that on a QWERTY layout or my own planned custom layout, but I do like the idea of using the right palm key to access the typing layer, and while @bjn’s objection to holding that down while typing is certainly valid, it wouldn’t be necessary, thanks to OneShot (or simply turning off the game layer (or locking the typing layer on, depending on the order of the stack)).


(Christopher) #17

Back when I used to play MMORPGs, I configured the game clients to use ESDF so I could use more keys with my pinkie and ring finger. I didn’t come up with this myself of course, it was a recommendation by another player and as far as I’ve heard in guild chats and Mumble, quite a few players do that or something similar.

But ever since I’ve started to develop Emacs pinkie, I’ve used software to load individual keyboard profiles per game and remapped as much as I could away from the weaker fingers toward index finger and thumb. (Games that use LCtrl and LShift as combinable modifiers are the worst.)

I like the idea of a gaming layer and was thinking about exploiting the NumLock layer or maybe creating a ScrollLock layer for something similar myself. But for the moment I’m not sure yet wether I want to subject my Model01 to gaming, especially with me on the keys. My gaming keyboards tend to wear out after two to three years…

So maybe I’ll keep feeding those Razer keyboards to the canons while I use my Model01 for the important less exciting things.


(Bart Nagel) #18

I don’t think so at all. When I rebind keys in a Valve game and I’m told “press ‘i’ to use”, that is the “i” key. “i” is printed on the key, and it’s the same key I use to type “i” the rest of the time.

Always in the same place on that layer, sure, but probably a different place from your regular layer. You’re calling it a “controller” layer and so taking away the coupling of letters from keys, and so I think what you’re saying is that you won’t think of a particular key as R but rather as “reload”. I get that, and it makes sense as long as all the games you play have the same sort of controls in the same default places, but then at the same time you’re saying you’ll know where “Y” is. I don’t follow your thinking here. Maybe you meant to say you’ll know where “defenestrate” is?

That honestly sounds terrible to me if I’m in the middle of a game, but OK.

I’m not “hassling” anyone, or at least that’s not the intention. I’m pointing out the issues I see with the idea, for discussion, and elaborating where it looked like my meaning hadn’t been clear enough. I’d hope for the same kind of feedback if this were something I were proposing. If @kurwazajebista agress that I’m not adding anything useful I’ll step away.


(Michael Richters) #19

Not at all.

I wouldn’t simply scramble the keymap; I would make a very small number of systematic changes. Perhaps you don’t think this is a good idea because you’re a Dvorak typist who doesn’t know the QWERTY layout well? Thinking further on this, it makes sense to do this for people who do know the QWERTY layout well, but probably not for others, since they would have to do extensive rebinding from the defaults anyway, or have a much greater mental burden for recalling where the letters are on the keyboard.

If you use that function so rarely that you need a hint to tell you which key it is, you’re probably way too slow to successfully hit the key in a time-critical moment. A OneShot switch to a typing layer for keys that must be remembered by corresponding letter rather than position under fingers seems to me a much smaller burden than doing a separate wholesale rebinding for every game.

Your whole argument really came across as, “You shouldn’t bother doing this thing that you’re enthusiastic about because it wouldn’t work for me”, rather than, “Here are some ways I think your idea could be improved.”


(Bart Nagel) #20

You’re saying that doubling the number of keystrokes for such actions is a much smaller burden than thirty seconds of rebinding before playing a new game? If so, we’re never going to agree here (and that’s OK!) so there’s not much point going back and forth about it any more now that I think we understand each other’s viewpoints. Different keystrokes for different keyfolks.

Then you’ve misunderstood me, and I apologize that my comments could be read in such a way. What I was attempting to do is point out issues the OP may not have already seen. The hope was that this would be helpful and perhaps interesting for everyone involved.

It remains my opinion that rebinding once for each game is a simpler solution which doesn’t have any of the drawbacks which I’ve outlined. I believe those drawbacks to be objective and universal, though obviously people have different opinions of exactly how burdensome they are. Yes, the rebinding solution means you have to spend the time rebinding for each game, but like I said at the beginning, I personally find this to be absolutely nothing of a burden – I in fact find it’s a nice part of getting to know a new game, since all the commands are shown to me and I learn (and choose) how to activate them. I believe I’d have the same opinion here even if I still used qwerty.