keeb.io Iris keyboard review

keeb.io Iris

I have been using an Iris rev 6b split keyboard (FR4 plates, acrylic tented middle layer) for a couple of months.

Until I got the Iris, I’d been packing my Ergodox to work each day, which was inconvenient, and the constant plugging/unplugging was probably not great for the mini USB port either. I wanted:

  • portability, so I can take it on a commute or travel
  • fewer keys (maybe more ergonomic if I learn to use them efficiently?)
  • quietness, so as not to disturb co-workers
  • a split ortholinear layout similar to my Ergodox, so I can rely on muscle-memory between both boards
  • tenting
  • some assembly (to participate in a group custom keeb-building activity)
  • not egregiously expensive

Overall, the Iris did meet my goals, though it required some experimenting/modifications to the hardware and firmware to do so. This review discusses these aspects, mostly in comparison to my Ergodox and similar split/ortho keyboards. It doesn’t discuss the advantages of splits, ortholinear, or <60% layouts.

The Iris keyboard kit cost about $165 USD, including shipping to Australia. Switches and keycaps were another $70 or so (you only need 56 1Us), and maybe $5 USD for the carriage bolts, for a total of $240. This is much cheaper than high-end prebuilt tented ergos: a Dygma Defy is $399, a Moonlander is $365, and an Ergodox EZ Glow is $324 USD.

Hardware

Compared to the high-end ergos, the Iris excels most in its portability: it is small, thin, and light compared to my Ergodox, even with the tenting bolts sticking out of it. Some measurements:

  • 30mm high (including switches and DSA keycaps, but ignoring tenting bolts); 15mm high with just the case and bumpers
  • 568g (including switches, keycaps, bolts and inter-half cable)
  • 230mm x 135mm x 55mm box fits both halves including bolts in their tenting position and switches/keycaps

The light weight comes at a cost, though: the acoustics aren’t great compared to modern custom mechanical keyboards with brass weights and gasket mounts, or even my modded Ergodox. Even with SA caps and thocky switches, this keyboard doesn’t thock. Stuffing the inside with foam, which worked well for the Ergodox’s acoustics, didn’t work on the Iris.

There was an additional rattle after I tented the board. This arose because the acrylic middle layer is slightly thinner than the length of the brass spacers. The rattle made the board’s quality feel very low, but the problem was completely solved by adding a gasket (sandwiching some foam) between the top plate and the acrylic layer.

The FR4 plates do their job. I think the black colour with brass highlights is a nice look, but the glossy finish means they show dust and fingerprints easily. They don’t seem to flex at all when I type.

The placement of the tenting bolt holes has a big design flaw that causes the board to be unstable. Putting pressure on some keys (in particular “3” and “8”, and the lowest thumb keys) will cause the board to tip, because the keys overhang the base formed by the bolts. You have to press quite hard to make the board obviously lift, but it does cause a slight bounce during normal typing. The bounce was particularly noticeable with plain metal bolt heads (which would “tap” on a hard desk), but was mitigated somewhat by gluing foam pads to the bolts.

I preferred to have the outer edge of the board resting close to the table, so I removed the tenting bolts on the outer sides. However, this alone will cause the board to rest unevenly on the the acrylic casing. The fix was to add a rubber foam strip along the outer side of the board, which also gives the board a nice dampened feel.

The coiled USB cable for connecting the two halves is shorter than my preferred split width. While the cable does stretch, its elasticity causes the two halves to drag back together when using plain bolts for tenting. However, the additional foam pads/strips provide enough friction to prevent the halves from moving back together, so this was fixed.

Iris keyboard underside with glued on foam
Underside of the Iris with foam strip (left) and foam pads on the bolt heads (right)

I’m pretty comfortable with the physical key layout. The thumb keys are shifted 1u relative to my Ergodox, but it didn’t take me long to adapt. The layout doesn’t feel cramped; if anything, the far 2u key on the Ergodox is too much of a stretch. I’d personally prefer more of a pinky stagger, but the Iris is no different to the Ergodox in this regard.

I like that the ports are all USB-C, and the USB host cable can be plugged into either half.

The Iris has great LED lighting (per-key RGBW and underglow) – but I’m not generally a fan of RGB bling. That said, I’ve found the per-key RGB to be functional for indicating layer changes and other keyboard state. The 3 LEDs on my Ergodox were quite limiting.

The keeb.io instructions were easy to follow and it took about 1.5 hours to assemble, including testing all the switches.

Switches and Keycaps

The keeb.io kit doesn’t come with switches or keycaps, so these choices aren’t a reflection on the Iris in general, just my particular build.

For keycaps, the majority are white DSA PBT, except for grey R3 DCS PBT on home positions. It feels like I need to be very precise to hit the sweet spot on the DSA profile caps when typing, and in retrospect I’d prefer a profile with more top area like XDA. Using R3 DCS caps on the home positions was an improvisation but I’m actually quite happy with it. The cylindrical profile makes column slides smoother (e.g. I don’t have to lift my finger to type “ls” in Dvorak), and provides tactile homing feedback (including tactile dots on the forefingers). The different colour also provides a useful visual cue for homing.

I decked it out with Boba u4 silent tactile 68g switches on printing keys and Boba pink silent linear switches on the modifier keys. These sound quiet, but not silent; they’re comparable to Apple’s butterfly switch keyboards, and quieter than my modded speed copper switches. They’re not particularly deep or thocky, but I doubt anything would sound thocky with the Iris. The top cases fit tightly from the factory with no rattle, so there’s no need for switch films.

I don’t find the Boba u4s particularly tactile – they’re inferior to my speed coppers. I bottom out more frequently on the u4s compared to my coppers, too, despite the much heavier springs in the u4s. Fortunately I don’t mind the squishy feel that the u4 dampeners have on bottom-out. I lubed the Boba pink silents with Krytox, and they’re as smooth as any Cherry linear clones I’ve tried.

I also use Kailh Box Jade clicky switches on the farthest thumb keys. I use those keys rarely, for toggling on the numpad layer and for temporarily making modifier keys sticky; having the extra resistance and tactility helps prevent accidentally activating such functionality.

The Boba switches and caps work okay with the Iris’s per-key lighting: the LEDs shine through the white DSA caps and are visible as an underglow for the grey DCS caps. On the downside, the Boba pink switches give the glow a deep fuchsia tint.

Firmware

You can find my Iris QMK keymap on GitHub.

Layout

I was curious how I’d go with the keyboard layout compared to my Ergodox, which has 20 more keys (mostly on the bottom row / thumb clusters). The main losses compared to my Ergodox layout were the esc, fn, ctrl, alt and meta keys on the left hand, and the loss of 2 keys in the top row that makes mapping the F-keys more awkward.

Unfortunately the layout I settled on involved some departures from my previous philosophy of “stay as close as possible to my MacBook keyboard setup”, where I only use the remapping functionality built into macOS (e.g. switching ctrl/caps/esc).

p00ya_dvorak key layout
The base layer for the p00ya_dvorak Iris keymap

In order to find new places for the missing physical keys, I tried and gave up on:

  • Changing ; to mod-tap, doubling as fn when held. This worked fine for normal typing and even code with semicolon statement termination, but I found the additional latency when typing : commands in vim too disconcerting.
  • Using QMK’s grave/esc. Combined with a coding layer that forces it to act as `, this was generally workable, but the long reach was inconvenient since I use esc frequently.
  • Using right shift as a tap-toggle for my nav layer. I don’t normally use right shift during typing, so this was mostly workable, but I found I was accidentally toggling it on or off when using the cursor keys.
  • Removing right meta. I use this instinctively for macOS browser shortcuts like ⌘N, ⌘T, ⌘R, which are all right-handed in Dvorak.
  • Not having a physical del key. My BIOS doesn’t give me enough time between when the keyboard powers on and when it needs to receive a del to mess around with layers. I didn’t find it essential in normal typing, though.

What I have settled on is:

  • Using enter as a mod-tap with alt. The latency doesn’t bother me.
  • Dropping the right-hand modifier keys other than meta. I don’t miss them.
  • Using double-shifts as a layer momentary or toggle for my fn and nav layers. This means I don’t add latency to a printing key, and it’s hard to accidentally activate.
  • A ctrl/esc mod-tap on the traditional caps-lock key. This almost always does what I want on the Iris, but does leave me expecting esc when I tap the same key on my laptop keyboard.
  • Shifting the F-keys all left (so that F1 starts on the ` key and 1 becomes F2), which unfortunately breaks the 1:1 number/F-key correspondence but keeps the correct order.

The double-shift layers are worth some discussion in terms of how they can be implemented. I coded these without QMK’s Tap Dance. As long as you use a dual-function binding (e.g. layer-tap or mod-tap), QMK already tracks the number of taps in record->tap.count. The right-shift functionality is a bit special: the nav layer is momentarily activated on a hold, and is toggled on via a double-tap, which can then be toggled off via a single tap. I tried implementing it via Tap Dance and it was actually slightly more complex than my own custom code in process_record_user, without seeming to add any extra value.

I don’t use the Iris for gaming, because I think the lack of keys becomes a real problem for games that fully utilize all the reachable left hand keys (including `, esc, ctrl, alt, caps).

Lighting

I had a little bit of trouble determining the correct LED IDs to use – the LED config in QMK is misleading because the right hand side in the code is the mirror image of what it physically looks like. I also had to set up QMK’s “transactions” in order to sync state across the halves, which wasn’t necessary for my Ergodox since the secondary side doesn’t actually process anything (or have its own LEDs).

I also learned that you need to reset the EEPROM for RGB matrix defaults to take effect: flashing the firmware isn’t enough. For the Iris, you also have to reset and flash both halves of the board for consistent behaviour.

Leave a Reply

Your email address will not be published. Required fields are marked *