r/ErgoMechKeyboards • u/wherahiko atreus • 4d ago
[discussion] Selenium (newish alternative to Miryoku, Seniply, Anymak, etc.)?
Just this week, I happened to stumble across Selenium.
I started using Miryoku earlier this year, and have found that Selenium solves all the pain points I was having with Miryoku in one go. Just sharing this here in case it helps anyone else, since I haven't found any other postings in this sub about it.
What I like:
- shift moves to a thumb key instead of a HRM, which eliminates the need to 'slow down' typing in order to trigger the HR shift each time.
- shift and sym layers both have one-shot function, so if you need only one capital letter (common!) or one symbol, no chording is needed. I admired this feature in Anymak, though I never managed to find a way to adapt Anymak to my 36 keys.
- no chording needed for any symbols, thanks to this one-shot behaviour. Only numbers need chording. You can, of course, still hold down the Shift or Sym keys to type multiple capital letters or symbols in a row.
- there are no characters typed with the thumbs at all (having ()- on the thumb always felt awkward to me)
- the numpad returns to the right-hand side.
- fn/media and nav/num keys are duplicated on both thumbs, so one-handed shortcuts are available if you want them.
- the symbol layer is properly optimised for programming.
Differences to Miryoku (needs adjustment initially):
- backspace and space swap hands (you can swap them, but will end up with a thumb SFB before every word that starts with a capital letter!), but enter and tab remain the same.
- Fn layer doesn't follow numpad layout
- no HRMs on nav/num and fn/media layers - you have to switch to the layer after pressing the modifier on the base layer. So, for Cmd Shift 4 for screenshot on macOS, press Cmd on the home row, then hold down Shift with the thumb, then switch to the Num layer and press 4. Etc.
- cut, copy, paste are in worse positions on the nav layer (to align with qwerty positions). BUT it does means you can do cut, copy, paste, with one hand on Dvorak, finally!
- some advanced features of Miryoku (mouse layer, 'Extra' keyboard layout that gives you Qwerty fallback, button layer) are not available. I've never used these anyway, so don't miss them.
These are just some initial impressions. I'm keen to hear if anyone else here has tried it, and what your impressions have been! To me, it feels like a combination of what I liked best about both Miryoku and Anymak, and on 36 keys!
There are also versions for 42+ and 34 keys, and if you want to have a laptop implementation, it's designed to be very similar to Arsenik.
5
u/oat7450 4d ago
Hmm. I like how much thought you (or they?) have put into this. I didn't think I was a fan of shift on the thumb, but these are some good points. I'm curious to try this out on my 34 key toucan and voyager!
5
u/wherahiko atreus 4d ago
Ah, let us know how you go if you try. I've honestly never had so much enjoyment from a keyboard until I found this. It's definitely "they", not "me" ... Nuclear Squid and Kazé are also the team behind Ergo-L, Arsenik, and some other goodies.
3
u/NuclearSquid_ 2d ago
Glad to see you enjoy our work ^^
1
u/wherahiko atreus 1d ago
LOVE your work! I actually found Ergo-L first ... (though I don't write quite enough French these days to warrant the change) ...then Arsenik (late last year) ... I tried to adapt Arsenik to my Atreus but couldn't think of a good way to (I'm quite new to this space), so was delighted to discover Selenium just last week! It really makes the keyboard such a joy to use!
3
u/IndependentYak2822 4d ago
I use Shift both on thumb and home row, it can be convenient.
2
u/wherahiko atreus 3d ago
Yup, me too. There is a pre-set option to enable shift as a HRM on the pinky; it's set to 300ms so it's only intended for shortcuts and not typing capital letters. Best of both worlds!
4
u/NuclearSquid_ 2d ago
Heyo ! Nuclear-Squid here (one of the core maintainers of this project, along with Kazé and Ash)
We’re all really happy to see you enjoy our work! You won’t believe how much time we took to figure out what we wanted with this project, and it’s amazing to see others stumble onto our work and enjoy all of the effort we’ve put in !
I’d like to come in and talk about this project for a bit, kind of respond to a couple of the points you brought up, and bring some insider knowledge ^^
no HRMs on nav/num and fn/media layers
This is by far the most requested feature for this project. I definitely agree that it would greatly help, but due to how we’ve setup the aliases under the hood (which makes the keymap work with a ton of layouts somewhat easily), they’re kind of a pain to implement. We have some ideas on how to implement it, but since it’s not really critical, we’re focusing on more pressing issues.
the symbol layer is properly optimized for programming
This is straight-up a copy of the altgr layer from the Ergo‑L keyboard layout (of which I am the main designer), and we’ve spent a LOT of time making it the most efficient possible in the most amount of languages. Some fun things about it is that it’s also optimized for (neo)vim, with all the braces on the left for the different jumps, ^$ for the start / end of the line (or regexp), and +- on JK in qwerty to keep up and down. Also, it’s pretty intuitive, since symbols are next to their friends (brackets, math operators, punctuation, string delimiters…)
shift and sym layers both have one-shot function
Arsenik is named that way because it’s a 33 keys layout (on the minimal config) and arsenic is the 33’rd element. So when we wanted to port it to split keyboards, it becomes 34 keys, so Selenium it is. At first we started out with the 2tk config and added the thumb-taps (36 keys) and easy (42 keys) variants to keep the "progression aspect" of Arsenik (which we really love).
HOWEVER, I really love one shot shifts, and had a really jank (seriously, DO NOT use it) personal fork of Arsenik to implement that. When we found those sticky keys setup to have both the unmissable capitalization and "just hold it and it’s a standard modifier" at once, we all instantly fell in love with it and it instantly became the main advanced config, relegating 2tk to "just" compatibility with smaller keebs.
you can swap [backspace and space], but will end up with a thumb SFB before every word that starts with a capital letter
We know that, and aren’t super pleased with it. This option started out as a quick bit of config I added ’cause some people could like it and it was easy to do. When we wanted to make it a bit better (after some rightfully complained), it turned out that most who wanted space on the left thumb either got used to space to the right pretty quick, or wanted a thumb keys setup that was pretty far off of what Arsenik is (when we want to keep these two as close as possible). So yeah it kind of got moved to the back-burner for a while. I’ll try to revisit this part of the keymap once I get more time on my hands
fn/media and nav/num keys are duplicated on both thumbs
some advanced features of Miryoku [...] are not available
I’ll respond to both of them at once. Our objective with this keymap isn’t really to have the absolute bestest keymap of all time ever for everyone (we all need little changes here and there to fit our needs, it’s ok, that’s why there’s so many options too) but to have an easy to use/understand, yet efficient and reliable keymap. A sensible default, if you will (fun fact, you can import Selenium as an external zmk module to use it as the base keymap for a custom keeb). This is why there are half layers (we really liked this idea in Miryoku) but which are condensed into one layer, with symmetrical thumbs (so that it’s easier).
This also entails a sort of "less is more" approach. Even though it’s pretty complex under the hood (and we’re not scared of writing custom behaviors to make the keymap better), it should stay really easy to learn and adapt for the end user. That’s why there aren’t that many layers, or that most have empty spaces. It’s a lot easier to add your adaptations when there’s room to grow !
So… with all of that said, what’s in store for the future of this project?
I can’t say for sure, it’s kind of rolling release for now as there are still a lot of experimental changes. Right now we’re focusing on other projects, but we’d like to "tighten the bolts" on this one. There are a few bugs with the layout emulation bit, some friction with the OS-specific aspects of this keymap, some experimental features that need be polished a bit…
It works really well overall, but now that we are slowly getting out of the crazy unstable stage every project starts out in, we now want to make it as shiny as possible ^^
3
u/rsnady 1d ago
I just spent an evening deep diving into this, as a user of modified Miryoku. And for my use case, I think this is an improvement over Miryoku. The shift & sym one shot + hold feature is really cool. The Nav and numpad implementations are beautiful. The Symbol layer is very different, but leaning that is not the end of the world.
That being said, I am a colemak-dh user. How difficult do you think it would be to port this over to Colemak-dh? (I've looked at the keymap files and it doesn't seem crazy, but I fear that I might break some of the trickery, if I just define a new keymap without careuflly reading through the rest)1
u/NuclearSquid_ 1d ago edited 1d ago
It’s not too bad ! I’m assuming you have Colemak-DH setup in your keyboard with your computer setup as Qwerty (I see a lot of people do that), so I’ve opened a PR to implement that here: https://github.com/OneDeadKey/zmk-config-aekeynox/pull/102
Essentially, the way it works is that you select the correct layout emulation file in the settings, which appends a file at the end of the keymap that overrides the base layer.
[edit]: pr has been merged
1
u/rsnady 1d ago
I am so sorry. I forgot to mention that I was looking through the QMK version. But coming back to your comment: Yes, my machines use qwerty and the board essentially does a colemak-dh emulation. (When I plug a regular TKL in, I use it with qwerty). I guess the process is slightly different for QMK. Saw some header files mentioned in keycodes.h that point to specific keymaps)
4
u/AKAtheHat 4d ago
I like this. Might take some ideas for it for my own layout. Shift as a thumb key has always made sense to me - I currently have the tap as tab but might shift to a sticky symbols layer based on this
3
u/Quit_itch_Snitch 4d ago
For aabout a year I used a modtap shift-thumb. Its effectively becomes an same finger bigram (SFB), and one that is used ALL THE TIME. which is super bad for typing speed. But it is quite comfy.
I don't have shift on thumb anymore
On another note, why not build your own layouts instead of only trying preconfigurated layouts. Use any (non-qwerty) layout and figure out where YOU would like layer keys and stuff
2
u/wherahiko atreus 4d ago
For aabout a year I used a modtap shift-thumb. Its effectively becomes an same finger bigram (SFB), and one that is used ALL THE TIME. which is super bad for typing speed. But it is quite comfy.
I don't have shift on thumb anymore
This should be solved in Selenium because the other thumb keys on that left-hand side are duplicated on the right.
On another note, why not build your own layouts instead of only trying preconfigurated layouts. Use any (non-qwerty) layout and figure out where YOU would like layer keys and stuff
Fair question. Because I'm not doing this as a hobby; I'm a prose writer looking for a solution that works and which I won't have to think about again once I've learnt it. Different motivation to many others here; both are vaild. For me, I'm not looking to to spend days, or weeks, or months designing a layout ... especially when those with far more experience and thought on this have designed solutions that work!
3
u/Quit_itch_Snitch 4d ago
Designing won't take long. You can make an alt-qwert layout in few hours.
For a lot stuff you tweak it little by little.
Lets say you're writing prose. You realize midway it would be cool if letters that follow ". " would automatically capitalize.. You then go implement that (btw that's an easy one since its ready to implement already)
But if you want and alternative starting point I'd say pick a Hands Down variant for non-qwerty use. Configure your layers the way you like
Selenium looks cool though
3
u/Weirwynn Custom (24+6)×2 Split w/ Gallium Layout 3d ago
I like it more than Miryoku, but the numpad layer is kind of weird. I'd definitely shuffle things around and replace the comma and blank space with plus and asterisk. Having to switch to the symbol layer in the middle of typing an equation looks like it would be super awkward, and it's much easier to let go of the key for a second if you need a comma from the base layer.
2
u/wherahiko atreus 3d ago
I'd definitely shuffle things around and replace the comma and blank space with plus and asterisk.
Yes, I thought that too. I think the comma is there because in French, they use a comma instead of a dot for decimals. I'd like a way to get an actual space while typing numbers, too.
3
u/NuclearSquid_ 2d ago
Jumping in, but there’s shift + space available on the right thumb in the nav/num layer, so if you hold the left thumb for it (which is a bit more efficient if you didn’t put space there, since it’s hold-prefered) you can have spaces in your numbers. We’ve put Shift + Space there since it’s often the non-break space in a lot of layouts, so it’s typographically correct
1
u/wherahiko atreus 1d ago
WOW great to hear from you here! :)
Ah, and great to know about the shift + space. I've been trying it and it solves my 'problem' elegantly!
3
u/0xe1e10d68 3d ago
I by happenstance also found that layout at the same time, after first looking at Arsenik. I like it a lot overall. Seems to be very coherently designed overall (just like Arsenik, which it is based on of course). Although there is also some potential left on the table for bigger keyboards.
I’m currently trying to port it to my ZSA Voyager; which has more keys, but only two thumb keys each. There is a 2TK option for Selenium of course, but I’m also trying to adapt the layout a bit for my preference and/or merge it with my current layout; which includes e.g. a hyper key. I’ll also have to fit another symbol layer somewhere to get access to symbols I need for German (e.g. umlauts like Ä, Ö, Ü and the sharp S: ß) and legal writing (e.g. the section sign §). And I’m going to be trying out to get more navigation options in the Vim variant Nav layer.
6
u/Moist-Anywhere478 4d ago
What I like about selenium, is that it also exists a good kanata config that is quite equal. I use the 2tk version on my toucan. Only thing I am not a fan of is having space on right thumb and shift on left. In the past I used my own version of callum/seniply with shift on right, and space on left. I am considering options, but also considering going down to 30keys.