Category Archives: review

REALFORCE GX1 Keyboard on the Mac

I’ve been keeping up with a bit of tradition and got myself a(nother) keyboard for my birthday. The selection criteria was relatively easy:

  • Topre switches (which I really enjoy on my Leopold FC660C, which remains my main driver at work)
  • Backlit (I’ve used this more than I thought I would on my TKL CODE w/ 65g Zealios, which is what I’m looking to replace with a Topre board — RIP WASD)
  • TKL (Ten-Key-Less)

Since Topre keyboards seem to be very much falling out of favor, there is exactly one option I could find: The Realforce GX1 “Gamer” (sigh) keyboard. This model is not listed as supporting macOS (in contrast to most of Realforce’s other keyboards). Nonetheless I gave this a go. I even went for a limited Hatsune Miku collab edition, since it had PBT keycaps (instead of ABS on the normal model), I like cyan and pink, it was one of the few models that shipped to Germany, and it was on sale.

I ordered the keyboard from Amazon Japan on a Monday, and it arrived the same week Friday. That is still somewhat insane to me…

It is a very nicely built keyboard and as solid as the Leopold (which is rock-solid) — no flex, no bend. In contrast to the Leopold, it features a floating key design, but that doesn’t seem to impact the nice Topre “thock” sound that I like.

In a somewhat unusual move for a Topre keyboard the switches and keycaps are Cherry MX compatible, albeit with the LED / backlight above the stem. The key legends are simple, and thankfully don’t use one of those (IMO) rather ugly “gamer” fonts. I was a bit worried about the legibility of the legends on the white keycaps with a white backlight, but it’s a non-issue in person (as long as the backlight is on).

It is possible to “de-gamerify” the keyboard a bit, but for that (and key remapping) you need to use the Windows (only) software — at least once (note: Realforce’s Mac software will not recognize the keyboard at all). But it is possible to both flash the keyboard firmware and configure the keyboard on Mac computers with Apple silicon. For that, I used UTM (a system emulator and virtual machine host) and virtualized Windows 11 ARM in order to run the REALFORCE Software for Windows. Once Windows 11 and the Realforce Software is installed, you can then pass-through the USB keyboard device so that the software will be able to find it.

The firmware update is a bit iffy, since it reconfigures and reconnects the USB device (presumably to put it into the firmware update mode), which means you need to re-enable pass-through for the USB device again in UTM. I’d recommend never physically disconnecting the keyboard, but I did force restart UTM / Windows after initiating the firmware upgrade mode, and it then completed successfully on that second run.

As for configuration, I

  • set the backlight to Pure White and disabled the boot up pattern
  • swapped the Win- and Alt-keys (not that there’s a great need to do this since you can also do this on the macOS side) since I had the CODE keyboard set up that way as well (using its DIP switches for Mac mode),
  • added / modified a few Fn key combinations: This was mainly placing media keys on the Editing keys (as they were on the CODE) and moving the existing shortcuts that I replaced there to alphanumeric keys. For additional compatibility with how my CODE keyboard was set up, I set Fn+F11 to Backlight Brightness, Fn+PrtScn to Eject (this allows for easy sleep etc. shortcuts), and Fn+Pause to Mute. I also added the Easy Macro keys to Fn+F9/F10 as well (since it made sense to put them next to the other preconfigured macro keys — not that I currently have any use for them).
The Configuration of the Fn Key Shortcuts in the REALFORCE Windows Software
Realforce GX1 Modified Fn Keys for (my) Mac Use

After those settings are saved to the keyboard they’re retained and the software is not needed anymore — unless you change your mind about any of those settings. All in all, I’m very happy with the keyboard (but I am also used to paying a fair amount of money for somewhat exotic keyboards).

On top of that, I’m still using a minor software remap to put Esc on Caps Lock (which I’ve become very accustomed to due to the Leopold FC660C in addition to the awkward Macbook Pros with the Touchbar), see the other post for details, but here’s my current script for completeness:

#!/usr/bin/env bash
# https://developer.apple.com/library/content/technotes/tn2450/_index.html
# https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-1035.41.2/IOHIDFamily/IOHIDUsageTables.h.auto.html
# https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-1035.41.2/IOHIDFamily/AppleHIDUsageTables.h.auto.html
FROM="\"HIDKeyboardModifierMappingSrc\""
TO="\"HIDKeyboardModifierMappingDst\""

ESCAPE="0x700000029"
CAPS_LOCK="0x700000039"

PRINT_SCREEN="0x700000046"
SCROLL_LOCK="0x700000047"
PAUSE="0x700000048"
INSERT="0x700000049"

F13="0x700000068"
F14="0x700000069"
F15="0x70000006A"

LEFT_ALT="0x7000000E2"
LEFT_GUI="0x7000000E3"
RIGHT_CTRL="0x7000000E4"
RIGHT_ALT="0x7000000E6"
RIGHT_GUI="0x7000000E7"
PC_MENU="0x700000065"

MEDIA_PLAY="0xC000000B0"
MEDIA_NEXT="0xC000000B5"
MEDIA_PREV="0xC000000B6"
MEDIA_EJECT="0xC000000B8"

# REALFORCE GX1 (Hatsune Miku) X1UD w/ Win & Alt swapped
hidutil property --matching '{"ProductID":0x317, "VendorID":0x853}' --set "{\"UserKeyMapping\":[
{$FROM: $CAPS_LOCK,    $TO: $ESCAPE},
{$FROM: $INSERT,       $TO: $MEDIA_PLAY},
{$FROM: $F13,          $TO: $MEDIA_EJECT},
]}"
# WASDv2 / CODE in Mac mode
hidutil property --matching '{"ProductID":0x269, "VendorID":0x4d9}' --set "{\"UserKeyMapping\":[
{$FROM: $CAPS_LOCK,    $TO: $ESCAPE},
{$FROM: $INSERT,       $TO: $MEDIA_PLAY},
{$FROM: $F13,          $TO: $MEDIA_EJECT},
]}"
# Leopold FC660C
hidutil property --matching '{"ProductID":0x134, "VendorID":0x853}' --set "{\"UserKeyMapping\":[
{$FROM: $CAPS_LOCK,    $TO: $ESCAPE},
{$FROM: $LEFT_GUI,     $TO: $LEFT_ALT},
{$FROM: $LEFT_ALT,     $TO: $LEFT_GUI},
{$FROM: $RIGHT_ALT,    $TO: $RIGHT_GUI},
{$FROM: $RIGHT_CTRL,   $TO: $RIGHT_ALT},
{$FROM: $PC_MENU,      $TO: $RIGHT_CTRL},
{$FROM: $INSERT,       $TO: $MEDIA_PLAY},
{$FROM: $PRINT_SCREEN, $TO: $MEDIA_EJECT},
{$FROM: $SCROLL_LOCK,  $TO: $MEDIA_PREV},
{$FROM: $PAUSE,        $TO: $MEDIA_NEXT},
]}"

Some Game recommendations from 2018

  • Tacoma (“walking simulator” by Fullbright (who made “Gone Home”))
  • Zero Time Dilemma series (weird time travel visual novel + escape room puzzles)
  • Iconoclasts (metroidvania with strong puzzle focus
  • Life is Strange: Before the Storm (I thought I didn’t want to go back, but turns out, I did :))
  • Q.U.B.E and Q.U.B.E. 2 (first-person 3D puzzle games)
  • What Remains of Edith Finch (“walking simulator”)
  • Undertale (RPG by Toby Fox with an unusual battle system, good story and great music)
  • Yakuza 0 (prequel to the Yakuza series, good entry-point, and probably the best game in the series)
  • God of War (2018)
  • Monster Hunter World (still a bit obtuse, but the loop worked for me until the “now for the same monsters, but harder” part – which was 40-ish hours in)
  • Destiny 2: Forsaken (base D2 was a bit of a disappointment, but Forsaken managed another “Taken King” turn-around)
  • Celeste (excellent platformer, hard but fair (and teaches what you need to be able to do), great music, and interesting story)
  • ASTRO Bot Rescue Mission (charming VR platformer)
  • Marvel’s Spider Man (a bit repetitive, but ultimately OK)EXAPUNKS
  • 7 Billion Humans (sequel to Human Resource Machine, visual programming puzzle)

Puzzle Games

I really enjoy puzzle games. Here’s a list of some I’ve enjoyed:

  • 3D
    • Antichamber
    • FRACT OSC
    • Kairo
    • Portal (2)
    • The Talos Principle
  •  Platforming
    • Braid
    • FEZ
    • The Swapper
  • Pure
    • Hexcells (Plus / Infinite)
    • Picross 3D
    • Slitherlink
    • SpaceChem

All of these are well worth buying.

Gone Home

Gone Home peaked my interest when I saw the trailers and reviews on its release but the asking price seemed a tad high, so I put it on my wish list and forgot about it. A few days back, it popped up in a Humble Store flash-sale and I went for it. In retrospect, I would’ve been happy paying full price, but it’s not as if waiting did any harm.

I really, really enjoyed it, but I can see why people dislike it (or think very little of it — in game terms). It uses many of the usual “tricks” for evoking emotion (great voice acting coupled with musical “riffs”, strong nostalgia, …) but despite knowing these things were used on me, they worked just fine and affected me. (As an aside: I also played The Stanley Parable, which seemed like it tried too hard to be clever, then you realise it actually is cleverer than you gave it credit for, but it remains an entirely left brain experience — sort of the opposite of Gone Home.)

Gone Home is like a puzzle game where you slowly assemble pieces of the story in your head from hints scattered around the house. While the main thrust of the plot is very “in-your-face” (but still well done), you might miss entire side-stories in the puzzle, but they’re there for you if you pay attention (and they make the game better by providing a more complete, internally consistent picture). The developer commentary is also interesting, especially how they’re coming from the “1st person interactive simulation” school of game design (e.g. Looking Glass’ classics, * Shock, Deus Ex, …).

I recommend it highly, but I’m not sure how much of my enjoyment of it stems from 1990 nostalgia of my own teenage years, so buyer beware.

Mechanical Keyboards for the Mac

Any odd USB keyboard will of course work with a Mac (with Mac OS X allowing you to swap the modifier keys as you see fit), but if you’re after a mechanical keyboard that also has the Mac-specific symbols printed on its keycaps, then your options are more limited:

  • There’s the Das Keyboard, which has an odd-dual USB pass-through arrangement as well as a glossy black plastic finish, which attracts fingerprints rather nicely.
  • Another option is the Tactile Pro, whose look and design I just don’t get on with at all.
  • If you want to go for a keyboard with Buckling Spring switches instead of the usual assortment of Cherry MXs, the only option is the Unicomp Spacesaver M.
  • A rather custom option is provided by the WASD Keyboards: They build you a keyboard with laser etched or engraved custom keycaps from your design (and they have a pre-made Mac layout).

I have a few more thoughts to offer on both the Spacesaver M as well as WASD V2 keyboards, as I bought one of each. Note: Noise is no consideration as these are my “home” keyboards.

Unicomp Spacesaver M

The keyboard feels heavy and very solid, although the finish of the plastic is not of very high quality. The seams are uneven and if you put pressure on the case, you can hear the plastic creaking. The design of the Mac-specific keycaps is rather slap-dash and not done with much care (no symbols for ⌘ or ⌥, odd alignment of symbols and text on the function keys). The ugly Unicomp logo fits right in (but you can order a cheap Black No LED Overlay from them — just lift and detach the existing one with a sharp thin blade and put the neutral one in its place).

All that being said, I do actually like the look of the black case with the dark grey modifier keys with the lighter keys.Unicomp Spacesaver M (black)

The switches themselves are really nice and I enjoy typing on them. They keys are comparatively high and have a good amount of stroke depth.

The key-mapping enables the Mac-specific shortcuts (Expose, Volume, Media Keys) on the F-keys by default, and you have to hold the Function (fn) key to get to the normal F-keys. You can lock (and unlock) the fn-key state by pressing Left-Shift + fn if you prefer to mainly use the F-keys directly (but you need to remember to redo this after every sleep / wake cycle).

The USB-interface takes a fair amount of time to wake up from a sleep-state (even longer if you used the keyboard itself to wake the computer), so you’ll usually to wait 3-4 seconds without key presses for the keyboard to re-initialise itself.

After a few weeks, my Spacesaver M developed problems with certain keys not registering (usually after Sleep), but replugging the keyboard seemed to fix it. After a while a (different) set of keys stopped responding altogether, and no amount of rebooting, replugging or shaking would fix it. After contacting Unicomp, they thankfully offered to ship me a replacement keyboard (even though their warranty statement specifically excludes warranty for internationally shipped products: Thanks, Jeanne!). The replacement worked fine for a while, but then developed very similar problems with a subset of keys no longer registering at the host.

Last weekend I finally found the time (and the needed 5.5mm nut) to open one of those keyboards up, and it turns out that the internal plastic ribbon cable, onto which the keyboard controller board (which is labelled Ruffian_V4_2) is directly screwed on top of, is not making full contact. The holes in the plastic have been partly ripped out and the alignment between the contacts on the backside of the controller board and cabling plastic sheet was misaligned. After a few attempts at reseating and realigning the controller board and the plastic sheet (and not screwing the board back in place too tightly because that prevented contact again) I seem to have repaired keyboards. I don’t know whether the connection between the plastic sheet and controller is that failure-prone, or whether international transport played a role, but my two keyboards (original + replacement) failed with exactly the same symptoms (and similar internal damage to the ribbon cable’s screw holes from the affixing of the controller board).

WASD V2 87-Key Custom Keyboard

After the Spacesaver M repeatedly failed (and before I figured out that I was able to repair them), I was looking for alternatives, and via Jeff Atwood’s CODE keyboard found out about WASD Keyboards. The CODE keyboard itself was of no particular interest to me, as it has Windows-keycaps as well as a backlight. It did have a configurable key-mapping, though (via DIP-switches).

Nonetheless, a closer look revealed that WASD will make a keyboard with anything you want printed on it (by giving them an Adobe Illustrator or PDF file from a defined template), and that their “normal” (non-CODE) keyboards have the same configurable keyboard controller. I had no interest in making my own custom layout, but they provide a very decent pre-made Mac-layout.

After some back and forth between the normal (102 keys) or tenkeyless (87 keys) version (which unfortunately are the same price — I’d have thought buying less plastic, switches and keys would’ve resulted in some savings…) and then a short interlude in the customs office, I obtained my custom keyboard with Cherry MX Blues:

WASD V2 87-Keys Mac

The design is very understated, with sharp edges and very little flourish or extraneous plastic. The case and finish is of a very high quality and I was positively surprised with the quality of the lettering; it does not look custom or one-off at all. After configuring the DIP switches (1 and 6 to ON for enabling the Mac-layout and the fn-key), it behaves like a proper Mac keyboard. In contrast to the Spacesaver M, the Function-keys only map to the function keys (and not any Mac specific functions) which I actually prefer. fn + insert / home / delete / end keys control media playback and fn + f13 acts as ⏏. Also nice is that the controller initialises very quickly after a USB-wake event.

The feel of the key-switches is nice (although the odd key initially seemed a bit reluctant to return back to its resting state after releasing it) but not quite as satisfying the Spacesaver M. It’s taken a bit more effort to get used to a keyboard without a number block than I would’ve though,  even though I work at a laptop all day at work. This is mainly because the subtle cue from my right pinky of the right side of the keyboard ending used to indicate the start of the number block, not the navigation keys.

In closing

Now that both keyboards are in a working state (as I’d ordered the WASD as a replacement after the replacement Spacesaver broke down and before I’d managed to repair them), I’m typing this on the WASD keyboard. I do actually prefer the feel of the buckling springs to the Cherry switches, but overall the WASD feels like it has much more care put into it, with a better finish and USB controller. That said, it is also a fair bit more expensive.  Both are enjoyable keyboards, but you should not order a Spacesaver M expecting a high quality plastic case and finish — you can expect high quality switches, though.

Alastair Reynolds — On the Steel Breeze

I finished Alastair Reynolds’ “On the Steel Breeze” yesterday and I really enjoyed it (but then I also liked “Pushing Ice”…). It’s set after the events of “Blue Remembered Earth” but is supposedly readable stand-alone, but to be honest I wish it hadn’t been so long since I’d read that because there were a ton of cross-references.

This book seems to have more a Culture vibe to it (and it seems oddly optimistic), and starts to move events from Solar-scale in the last book to something slightly larger. It starts off a bit slow, but then turned into a real page-turner for me (and only rarely employed the usual “cliffhanger at end of chapter followed by perspective switch / narrative break” strategy).

There’s quite a few coincidences and odd choices about resource allocation (elephants…), but none of these dragged the story down in my opinion. An improvement on “Blue Remembered Earth” in every regard (and that wasn’t bad at all to start with).

Recommended.

Tomb Raider (Re-reboot?)

I received my copy early and have been looking forward to playing it over the last few days a whole damn lot. I ended on 91% completion, then came back and got 100% (which I do rarely – two challenges are a real bitch (Mine Sweeper and Sun Killer)).

Really enjoyed it, and it looks awesome (especially considering how old the 360 is by now). Combat feels good for the first time in a Tomb Raider game, but I’d still prefer more tombs / temples / puzzles. When I got the achievement for “All Optional Tombs completed!” I shed a little tear, because reviews said later tombs were better and I expected a few more, but they were all short single room deals. I could also do with less semi-QTE scrambling across disintegrating bridges / burning buildings / whatever. Leave that to Uncharted.

Somewhere between an 8/10 and a 9/10.