some computer input devices

2017-07-15
2021-04-24

Keyboards:

Pointers:

Like with digital fonts and GUI color schemes, the search for the perfect computer peripheral is a perpetual and addictive process. This page reviews the several input devices that I've tried and how close I've gotten to the grail. Current favorites are written in bold above.

As it turns out, the preferred characteristics common to all devices are small size, simplicity, and, silence.

Keyboards

Designer Compact

designer_compact

A compact, membrane, bluetooth keyboard.

Good: Excellent typing feel and satisfying presses. Replaceable batteries (CR2032).

Bad: Slightly expensive (but worth it).

Opinion: Almost perfect. If there were a version of this whose keys are ortholinear or have a more ergonomic layout, it would be perfect. (TODO: business idea)

Magic Keyboard

magic_keyboard

A compact, membrane, bluetooth keyboard.

Good: Normal-size top row.

Bad: Expensive. Unremarkable presses.

Opinion: Good but there must be something better.

MoKo Foldable

moko

A compact, foldable, slanted (for natural wrist angles), membrane, bluetooth keyboard.

Good: Very portable. Affordable. More ergonomic than most keyboards out there.

Bad: Non-traditional esc key. Small nkro. Unremarkable presses.

Opinion: Interesting shape idea and good execution, but a higher overall quality and better typing feel would make this closer to perfect.

Planck

planck

A compact, ortholinear, mechanical, wired keyboard.

Good: Ortholinear key layout. Customisability (typing feel and behavior can be configured to be personally optimal). Possibly the simplest design for a mechanical-switch-based keyboard.

Bad: Expensive. Heavy for its size. Not very ergonomic. Wired (wireless needs hardware hackery).

Opinion: Interesting design idea and good execution, but its default weight, price, and lack of wireless connectivity are disappointing. Customisability however is a huge plus.

Pointers

Atheris

atheris

A smaller, ambidextrous (but with right-handed thumb buttons), bluetooth or 2.4GHz wireless mouse.

Good: Personally perfect shape, geometry, grip. All but the first and second buttons are quiet. Button presses are defined. Gaming-grade latency. Bluetooth option.

Bad: Slightly heavy for its size (but can be tweaked by omitting one battery or using lighter/smaller batteries). Noisy first and second buttons.

Opinion: Basically perfect -- a grail.

G305

g305

A normal-sized, ambidextrous (but with right-handed thumb buttons), 2.4GHz wireless mouse.

Good: Standard shape that is easy to get used to. Awesome wireless technology and accompanying battery life.

Bad: Material is on the smooth/slippery side (but third-party grip tape nullifies this). Thumb buttons are mushy. All buttons noisy.

Opinion: Overall a good experience, but a bluetooth option and a tighter grip (in terms of both size and material) would be nice.

Magic Trackpad

magic_trackpad

Like the typical laptop touchpad, but a large, standalone, bluetooth version of it.

Good: Clean and simple design. Cool click-feedback technology. Virtually silent with no moving parts. With a certain type of pen (which?), the trackpad could be used as a drawing surface.

Bad: Expensive. Not appropriate as a primary pointer since mice are so much easier to use.

Opinion: As a secondary or a specialised pointing system, or for those more proficient with touchpads, this device is excellent.

MX Anywhere 2S

mx_anywhere_2s

A smaller, right-hand-only, bluetooth or 2.4GHz wireless mouse.

Good: Personally near-perfect geometry (but a bit flat). Infinity scrolling. Has buttons dedicated to horizontal scrolling.

Bad: Not the lowest of latencies. Non-replaceable battery. Noisy first and second buttons.

Opinion: Almost the perfect mouse.

ProPoint

propoint

A tiny, right-hand-only, bluetooth or 2.4GHz wireless mouse.

Good: Very portable. Supposedly ergonomic due to pen-grip.

Bad: Expensive. Awkward to reach scrollwheel. Needs getting used to and not as intuitive as the typical mouse. Squeaky buttons.

Opinion: Cool concept and execution. May be good in specialised contexts but there are better options for a primary pointer.

Others?

The various ergonomic interpretations of keyboards and mice out there are obvious candidates for the grail status, but those are usually more expensive, harder to come by, or bigger than the typical variant. And as soon as a device exceeds a relatively "minimal" size, it automatically drops from my consideration. If there is a scent of any excess space consumption beyond what is needed by its core design, the device loses almost all appeal. Prime examples of such excess would be the numpad on keyboards, or the thumb rest on mice.

Vertical mice and so-called "productivity" devices have also been avoided for the same reason(s). For the moment, I prefer the cleanliness and minimality of designs over supposed ergonomic or productivity benefits, but this may change as time goes by.

On my wishlist is the Centromere Mini Wireless Keyboard.

In-depth or additional notes

Planck

The Planck is a charming mechanical computer keyboard designed by Ortholinear Keyboards. The one shown here is revision 4.

The hardware consists of 4 main parts: the PCB, the plate, the bottom, and the keys themselves (switches + caps), all of which can be easily substituted with variants, making for a supremely customisable keyboard.

The firmware, known as Quantum or QMK, is open source and works with the Atmel AVR controller built into the PCB or the Teensy.

the key layout

source: github.com/blobject/qmk_firmware:keyboards/planck/keymaps/agaric

The main principle that drives the use of small keyboards like the Planck is the application of virtual layers, which effectively multiplies the number of available keys. The QMK firmware makes this easy.

layer 0: base

Being a programmer, I opted for a layout that is mostly symmetrical, is thumb-oriented, and makes accessible those characters that frequent programming languages. I tried not to mess with the confines of the alphabet keys, and attempted at reducing, as much as sensible, the pinky finger's reach.

.-----------------------------------------------------------.
| L3 |  Q |  W |  E |  R |  T |  Y |  U |  I |  O |  P | L2 |
| tab|  q |  w |  e |  r |  t |  y |  u |  i |  o |  p | bsp|
|----+----+----+----+----+----+----+----+----+----+----+----|
| SFT|  A |  S |  D |  F |  G |  H |  J |  K |  L |  : | SFT|
|  ( |  a |  s |  d |  f |  g |  h |  j |  k |  l |  ; |  ) |
|----+----+----+----+----+----+----+----+----+----+----+----|
| GUI|  Z |  X |  C |  V |  B |  N |  M |  < |  > |  ? | GUI|
| { [|  z |  x |  c |  v |  b |  n |  m |  , |  . |  / | ] }|
|----+----+----+----+----+----'----+----+----+----+----+----|
|  " |  ~ | HYP| ALT| CTL|  space  | L1 | AGr| CTL|  + |  _ |
|  ' |  ` |    | del| esc|         | ret|    |    |  = |  - |
'-----------------------------------------------------------'

Modifiers are pushed to the edges, and the most frequently used ones -- Control, L1, Alt, and Shift -- are assigned to the thumbs and pinkies. The "L?" modifiers are layer changers.

For the alphabet key mapping, I like to use a custom one instead of qwerty. But rather than hardcoding the keymap into the firmware, the switching has been relegated to the operating system (ie. setxkbmap or xmodmap) for better compatibility with my laptop's builtin keyboard.

layer 1: base extension

.-----------------------------------------------------------.
|////|  1 |  2 |  3 |  4 |  5 |  6 |  7 |  8 |  9 |  O |////|
|----+----+----+----+----+----+----+----+----+----+----+----|
|////|  ! |  @ |  # |  $ |  % |  ^ |  & |  * |  | |  \ |////|
|----+----+----+----+----+----+----+----+----+----+----+----|
|////| f1 | f2 | f3 | f4 | f5 | f6 | f7 | f8 | f9 | f10|////|
|----+----+----+----+----+----+----+----+----+----+----+----|
|    |    |////|////|////|/////////|XXXX|////|////| f11| f12|
'-----------------------------------------------------------'

Holding onto the L1 key temporarily changes the layer or mode of the keyboard, thereby causing the indicated keys to hold these new values.

Certain decisions and sacrifices were made based on priority and personal preference. For instance, the backslash and pipe keys occur in this layer instead of the base layer. Also, the numerals are situated in the top row, rather than in the home row.

layer 2: nav + device

.-----------------------------------------------------------.
|////|home| up | end|pgup|    |    |    |volx|vol-|vol+|XXXX|
|----+----+----+----+----+----+----+----+----+----+----+----|
|////| lf | dn | rt |pgdn|    |    |    | up |pgup|lum+|////|
|----+----+----+----+----+----+----+----+----+----+----+----|
|////|    |    |    |    |    |    |    | dn |pgdn|lum-|////|
|----+----+----+----+----+----+----+----+----+----+----+----|
| ins| prt|////|////|////|/////////|////|////|////| lf | rt |
'-----------------------------------------------------------'

The navigational and multimedia keys are defined on this layer.

layer 3: mouse

.-----------------------------------------------------------.
|XXXX|    |    |    |    |    |    |    |  2 |  ^ |  3 |////|
|----+----+----+----+----+----+----+----+----+----+----+----|
|////|    |    |    |    |    |    |    |  < |  1 |  > |////|
|----+----+----+----+----+----+----+----+----+----+----+----|
|////|    |    |    |    |    |    |    | ^^ |  v | vv |////|
|----+----+----+----+----+----+----+----+----+----+----+----|
|    |    |////|////|////|/////////|////|////|////|    |    |
'-----------------------------------------------------------'

The mouse keys are defined on this layer.

tap and hold

Tap to enter a character, or hold to enable a modifier. The firmware provides this neat functionality, and it allows one physical key to represent a character and a modifier simultaneously. Refer to LT(), MT(), and "space cadet" in the QMK sources/docs.

assembly

wip

planck-init

planck-switch

planck-switched

planck-soldered

usage

wip

syncopated palm tap

The four keys in the lower corners (the ones that don't have modifier assignments) are blindspots to the fingertips. These keys are difficult to reach using either pinky or thumb.

They are quite accessible, however, with the edge of the palm. And during quick typing, the occasional corner palm jab mixes in a syncopated feel to the typing experience.

ergonomics

Despite the convenient size and layout and the palm tapping ability, the ergonomics of this keyboard is not perfect. The keys rest somewhat high, and without a palm rest, the hands must perpetually float to achieve good speed. The wrists also remain horizontal and bent towards the middle which is quite bad in terms of ergonomics. An adjustment is to keep the hands angled naturally while trying to fit the ortholinearity into that angle.

silent switches

The Cherry MX silent red switches were picked because of the value I put in silence. The valuation was such that even rubber o-rings were attached to every switch in order to further dampen the residual clicking noise. And the result was quite satisfactory on the noise front.

On the feel front, however, the switches initially felt too easy to press and mushy and indistinct. But the precedence that noiselessness had over low tactile resolution contributed to perseverence. After a few weeks, the perception of mushiness faded and the soft presses began to be enjoyable. As with any physiological acclimation, the body seemed to grow more sensitive to (unconscious of?) the minutiae of its environment and the "too easy and soft to press" simply turned into "fast".

Atheris

The Atheris is currently Razer's smallest wireless gaming mouse. It has many preferable features: both bluetooth and 2.4GHz wireless capability; replaceable AA batteries; mechanical switches (which makes the board compatible with third-party silent switches); and a lack of extraneous lighting, accessories, and cords.

modification

disassembly

The designers of the Atheris graciously made the process of disassembly and reassembly painless.

The top cover adheres to the body via two magnets and some plastic cavities. The batteries and USB dongle are accessible with this top cover removed.

With the cover off, and without needing to touch the skates at all (!), all (and only!) four of the screws are accessible, with the two top screws hidden under rubber plugs that can be plopped off with a narrow shim. The top portion of the inner body then easily disengages, and the sides also come off without any further unscrewing.

The board can be detached from the lower portion of the body once the sides have been removed, and that completes the disassembly process. A single board retains all buttons and mechanisms.

silent switches

mouse-switch

The switches on the Atheris, being of the mechanical type (and not of the new-fangled optical type), can be replaced with silent switches. Silent switches can be bought separately for cheap or they can be salvaged from other mice that either advertise themselves as being "silent" or have additional buttons that actually use these silent switches.

Typical noisy switches, including the original ones on the Atheris, are three-pronged and rectangular-prism-shaped, whereas typical silent switches are two-pronged and more cube-like. Two prongs seem to be sufficient in registering clicks and the third prong is superfluous, with some mice even leaving it unsoldered. On the Atheris however, all six prongs, corresponding to the switches for the first and second buttons, will need to be bypassed.

the experience

feel

Especially with the silent switch modification and the addition of some grip tape, the mouse is a pure pleasure to use. My medium-sized (palmistry: fire) hand can comfortably hold the Atheris in claw grip and even palm grip.

top cover

atheris-cover

Being affixed to the rest of the body by only small magnets and some low-tolerance knobs, one can foresee the top cover becoming rattly with increased wear. So when performing board modifications or replacing batteries, the top cover should be displaced with care to prolong its pristine behavior.

development environment

For coders and admins, the keyboard is far more important and frequented than the pointer. That being said, when a pointer is needed, it should be as easy to engage and as intuitive to manipulate as possible. In that regard, the Atheris is probably not much better than many other typical mice and probably even suffers a bit for lacking an infinity scroll mechanism. Given its size, shape, battery-duration, and button-remappability, however, the Atheris is about as good as it gets in terms of technical minutiae.

root/page/input