cocot46plus: A Corne-like unibody keyboard with trackball and encoder

cocot46plus: A Corne-like unibody keyboard with trackball and encoder

My split, ergonomic Corne keyboard is great. I love pairing with a trackball in-between the halves:

For comparison, a Boardsource Unicorne with a Kensington Expert trackball and MT3 Susuwatari keycaps. Custom cable by Mechcables

But what if you took the two halves of this split keyboard, jammed them together with a built-in trackball and threw in some extra features? That's the cocot46plus.

Yudai Nakata's cocot46plus with PBTfans Umbra keycaps

I prefer the ergonomics of a split keyboard, but a unibody version of the Corne layout is more appealing for traveling. It can be use on a lap. It also prevents the two halfs of a keyboard from drifting out of alignment with each other.

Let's take a look at what this keyboard is all about.

Basics about the cocot46plus

This keeb designed by aki27 uses a Japanese duplicate matrix to support all of it's features with the pins available on a single micro-controller. It was originally developed to use with a Pro Micro controller. That chip has limited storage and it could be a struggle to enable all the keyboard features and still have it fit in the available firmware. I have since updated the firmware to work the late 2024 version of QMK and the Spark Fun Pro Micro RP2040 chip, which has plenty of storage.

Kits for this board are for sale at yushakobo.jp. The PCB design does not seem to be open source.

Features of the cocot46plus

OLED features

The OLED on this keeb reports a few useful things: The current layer, the scroll status, the CPI, the Scroll Divider and the rotation angle. I'll explain these, but first here's a photo:

cocot46plus_bg_oled_1

Keyboards with this few keys often use layers accessed by holding down a modifier key to access an additional virtual layer of keys, and that's what the current layer is reporting. It will report values like Base, Raise, Lower or Mouse.

When either layer key is held, the trackball acts as a scroll wheel, and it works very well for that. The scroll status is reporting whether the trackball is working as mouse or scrollwheel.

Counts per inch (CPI) is the number of steps reported by a mouse sensor when moving one inch. This is customizable, to the point where you can bind keys to raise and lower value using the keyboard. Lower numbers allow for faster mouse movements, while higher numbers provide more precise movements.

Scroll Divider indicates the sensitivity of the sensor in scroll mode. The higher the value, the smaller the scroll amount.

The rotation angle indicates which way is "up" when using the trackball as a mouse. A comfortable Y-axis angle depends on the size of your hand and the way you place your hand on the trackball. Use the ROT_R15 and ROT_L15 keys to adjust it and find the setting that suits you best. See:

cocot46plus_bg_oled_3_4_5

I find the default of -30 feels natural for right-handed use.

Trackball / Mouse features

The trackball can be used for pointing as well as scrolling. It's removable for cleaning. The board includes dedicated keys for left and right mouse buttons. When a layer button is held, these buttons work as browser forward & back buttons.

Rotary Encoder

The board features a rotary encoder (knob) in the middle of the keyboard. It quietly clicks left and right when turned. With some more force than a normal key, it can be also be pressed as key. By default, this knob sends "page up / page down" when turned, acting another kind of scroll wheel.

Lighting features

There are LEDs that shine up behind a grill on either side of the LED. These are off by default, by change color to indicate when a layer key is being held: Blue, Red or Green. It's a nice touch.

There are also 10 downward firing LEDs for underglow. These are paired with a clear acrylic base and clear rubber stand feet. The effect is the keyboard can appear to be hovering in a pool of light. There are several light patterns to choose from, and these can be cycled through from the keyboard.

Differences with the Corne layout

Besides the extra mouse keys and the encoder, the cocot46plus adds a fourth key to the bottom thumb row of keys on each side. If you are already used to the Corne split layout like I am, you may ignore these keys. I do.

There's also a little more column stagger on the ring finger and pinky. I thought I would notice the difference when I switched between a Corne and this keyboard, but so far I don't.

Variants

cocot46plus.jpg
Hasumi Hitoshi created a Ruby-based firmware for the cocot46plus
completed!!
jupemara created an acrylic cocot46plus case that looks simpler to build than the original.

Differences from the Corne

The encoder knob is novel and convenient to reach, but so far I don't use it for anything. I already have convenient keybindings on the Corne for volume and page up / page down.

The trackball is good– it's the same size that's in some commercial trackballs. So far I've been testing the keyboard at home where I already have an even bigger trackball on my desk, the Kensington Expert. The larger trackball is always going to offer a better balance of speed and precision when moving. By comparison, the smaller trackball on this keyboard is a step down. I think I may need to tune the settings on the built-in trackball some more– f I move this keyboard's ball very slowly, it seems the mouse pointer does not move at all.

The trackball is also used as a scroll wheel, and it excels at this.

One of my "must have" features when I was looking for a keyboard with a built-in trackball was dedicated mouse buttons– because that's what I'm used to on my dedicated pointing devices. But I found these keys right below the trackball cramped for my large hands and not enjoyable to use. And perhaps, unnecessary. I'm already keeping my hands on the keyboard, so I could just as well activate a "mouse layer" with one hand and then re-use some more comfortably accessible keys for mouse buttons. I haven't tried this yet.

I've mentioned how I'm not using the extra keys on the thumb row, the encoder, and may find an alternative to the dedicated mouse keys. I also already use my outer sixth row on the Corne layout for rare and optional keys. Well, the creator of the cocot46plus, aki27 apparently came to a lot of the same conclusions because they created the cocot36plus. Behold:

The cocot36plus is a minimalist take on the same idea by the same designer.

One disappointment with the cocot46plus as it didn't work as well as the lap keyboard as I expected. This is due to to it's shape where it's narrower at the edges but wider in the middle. On a lap, if this can cause the keyboard to tip towards me if the thumb keys are used with much pressure.

Layout options for the cocot46plus

When I got my cocot46plus, I found the firmware was not part of the QMK firmware repo and was rather out of date. I completely updated the firmware based on QMK 0.25 release and submitted the firmware to the QMK repo.

In addition to the default keymap, I also ported the markstos layout for Corne to the cocot46plus. I published the markstos layout for cocot46plus in my QMK userspace repo.

Yudai Nakata has also published a Vial keymap for cocot46plus based on my modernized firmware.

Similar keyboards

If you like this keyboard but it doesn't seem quite right, subscribe to my blog– I'm planning a follow up post that will highlight other unibody Corne-like keyboards with built-in trackballs or trackpads.