Xah keyboard Blog

The day I lost Control.

Xah Keyboard Blog Archive

DIY two-ball trackball
Old Trackballs
Kraft Trackball, 1989
xah food 20220516 T44j8-s1600
xah food 20220516 T44j8 Microsoft Surface Pro 4, 2015 and KEMOVE DK61 Snowfox/Shadow Keyboard
Cheap Stylus
logitech mouseman FNtY
logitech mouseman FNtY
logitech mouseman cordless wqKb
logitech mouseman cordless wqKb
Microsoft serial ps2 mouse hVmZ
Microsoft serial ps2 mouse hVmZ
snk neo geo stripper ad 2XhP
snk neo geo stripper ad 2XhP
Shinobi Keyboard
IBM PC Jr keyboard mjgNG
IBM PCjr late keyboard, 1984.
Rubber dome switches. [2022-05-18 image source https://twitter.com/wuzhangwu/status/1525778391802302464]
Microsoft BallPoint mouse, 1991
Microspeed PC-Trac trackball, 1991

update a ton

Keyboard in Movies
del key besides arrow 2022-05-16
del key besides arrow 2022-05-16

these are the best palm rest

I dislike any keyboard with palm rest. If it cannot be detached, no buy. Use bath towels or books instead. Much more practical and comfy.

Most of the time i got lazy and rest palm on my kinesis advantage 2. But whenever next few min am gonna type nonstop in a burst, i hover. From experience, not hover causes stress on hand. I learned this the hard way. And sometimes when typing in a burst and too lazy to hover, as in some spontaneous debate, i regret not hover. 🙂

Yes, i learned to start to hoover per the proper way, since around 2014 maybe. Even on kinesis. Whenever i need to type a lot, like, next 5 min continuous typing, i hover. Makes a big difference. Have article somewhere. Alternatively, use books or tower, such that they are 5cm high, so that ur fingers dip onto the keys. On kinesis, ur fingers already dip in, but i think not high enough. The point is, even when on kinesis, i feel less stress if i hover to type.

these are the best palm rest

bath towel 39581
bath towel

How to Touch-Type

updated or new


xtodo work in progress

Keyboard Design Flaws

Keychron Keyboard
KEMOVE K68 Butterfly Keyboard

which aspect of keyboard ergonomics is more important?

  1. Most important: mech switch, light.
  2. The shortcut system used. E.g. Emacs default keybinding vs vim, vs xah-fly-keys, etc. Basically, avoid control combo, or have thumb key for them.
  3. At least 6 keys distance apart from left/right hand. (aka split. 1 physical piece with split sections or 2 physically split pieces.)
  4. Tenting. 20deg is normal. This is important if you really have hands on keyboard several hours a day.
  5. The other issues: ortholinear layout. Letter layout (dvorak vs qwerty), are less important.

cleaned up and removed lots old. PC Keyboards ⌨

added a video


now there is a search box. 870 articles. Xah Keyboard Guide Search

minor updates.

Mac dock station

recommended to me by Andy Lee and ctietze.

Supports two external monitors at 4K 60Hz, or 6K resolution if you are using Apple M1 Pro. Single external monitor 4K 144 Hz. 2.5 Gigabit Ethernet. Audio in and out. Thunderbolt 4 host + 2 downstream Thunderbolt 4. Three other USB-C. Four USB-A. DisplayPort. SD/microSD.

The only negative is no HDMI port, but can use DisplayPort to HDMI adapter, or USB-C to HDMI adapter.


—2022-02-23, Andy Lee

more update.


3D Gel Breast Mousepad

Kensington Orbit Trackball with Scroll Ring
now wireless

Keycap Profiles

Yes. To my suprised, they are diff. That is, been using surface pro 4 since 2019, and since, have had several pen. The original ms ones, and 2 variant active china cheapo, and inactive ones with disk tip and also a mesh tip.... But anyway, turns out, a active pen, and finger, and mouse, they work differently, as opposed to one emulating the other.

Both finger and active pen does not work as well as a mouse or trackpad, in the sense that finger or active pen sometimes simply does not work, cannot activate a right click or selection or cannot drag, in certain app or situations.

In terms of traditional pointer functionality, mouse is best, then finger, then active pen on surface tablet.

I also have the drawing tablet. The drawing tablet as a pointer have somewhat similar problem with active pen on the screen, but better. Quite a interesting saga.

Because before, i thought, finger touch screen or active pen on screen, are just emulation of the mouse pointer by software in OS. Not at all. They are very different implementation of the pointer. At least on MS Windows 10. .

Also, it may or may not matter, the above experience is with respect to using windows in normal windows mode, not tablet mode.

Another relevant point we need to mention is that, windows has this setting about pen, about "let me use it as mouse". It does have some effect in some app, as making it more functional pointer, but overall, still does not work in some situations.

ms pen setting 2022-02-09 72c8
ms pen setting 2022-02-09 72c8

but let me mention, all these detail normally doesn't matter. except, in vivaldi and firefox, u cannot use the pen to swipe on screen to scroll. Which is the most major pain. And plus, in chrome, sometimes, it is impossible to right click with the pen, or impossible to make a text selection of more than 1 word.

Logitech G300s Gaming Mouse


USB-C is a Major Faaakup

The idea of a universal plug is that it is universal. USB-C is universal in looks only. That's worse than just having different plugs. Plugs should be such that, if you can plug it in, it works.

There are many different types of USB-C cables. When you buy, you must have a specific purpose in mind. How to chose USB-C cable:

Here's the major types you want:

60W will do fine. For example, MacBook Air with M1 chip year 2020, its power brick is only 30W. [see M1 MacBook Air]

new photos.

Logitech MX Master 3 Mouse

Vertical Gaming Mouse

JLAB Bluetooth Headphone
Otium Bluetooth Headphone

temp tech stuff photos 2021-09-27

new photos

Moonlander Keyboard

Mac: Hover Mouse Auto Click

gosh. i rly need a keyboard to be used in bed with tablet while wife sleep. requirement are:

seems i don't have much options. looked and looked.

closest is

dvorak firmware vs operating system problem

one issue with programable keyboard/mouse is that, some of your computers does not have programable keyboard, so on that computer you have to use dvorak from operating system. but then, your mouse custom keys no longer works, because the operating system translates them.

a solution is, set your mouse to f1 f2 etc keys that are not effected by switching to dvorak. Then, on your operating system, make those f1 f2 etc keys send the desired keys via a operating system based keyboard software.

here's my notes.

minor updates

Memory Form Mattress Mold

Vertical Gaming Mouse

Russian DIY Keyboards

pen on Windows 10 2022-01-14
pen on Windows 10 2022-01-14

problem with tablet finger/pen user interface

gah the Microsoft surface pro 4 tablet, when using finger or pen without mouse really have problem with copy text, or any involve context menu, such as search a selected text.

When you need right click, typically you use finger or pen to touch and hold. However, that does not always work. Sometimes the wrong context menu shows up. For example on YouTube, when you want to right click the vid to copy current time. On Microsoft Windows surface pro 4 tablet, it sometimes shows the generic browser go back to previous page menu. Another example, when you need to copy a phrase in browser. After you touch and hold (with finger or pen) or double click, you end up with selection of a single word. Then you touch the extend shape to extend selection, then touch and hold, but your extended selection got removed.

The solution is annoyingly forced to connect a mouse, usb or blutooth, but when u walk about, that cant be done. So the next solution is to use the virtual trackpad. Super akward and annoying.

I suppose mac tablet no have this prob.

Datahand minor update.

Windows Logo Key Shortcuts new. revived.

Best Computer Desk
new photo.

xtodo 2022-01-07 put into a page

Ctietze 2022-01-07: @XahLee I remember a recent YT vid where you talked about how stupid home row mods are again (or was it here?). Have you tried living with just shift below the F/J key? I'm not a fast typist in general, and not reaching outward to the actual shift keys is a really nice option IMHO. Provided the firmware supports tweaking this so it doesn't get annoyingly in the way as you said.

Yeah. Rid of the shift traditional position is good thing. But i think it can be done well usually on a ergo that has middle kinda keys. On kinesis (or ergodox like ones), i think it doesn't work. I tried multiple times. Major reason is that, u need 2 shift, unless that shift position is truly versatile and ergo for both hand A to Z. But ergodox etc don't have that many keys in such position. Also, another principle is that, the modifiers, needs to be bunched together. E.g. Ctrl shift alt/cmd at least, need to be together, cuz traditional shortcuts often require pressing 2 of them together. E.g. 3d model software.

xtodo 2022-01-06 [https://cacm.acm.org/magazines/2021/2/250082-azerty-amlior/fulltext] [https://www.aalto.fi/en/news/changing-how-a-country-types] [https://userinterfaces.aalto.fi/136Mkeystrokes/] [https://userinterfaces.aalto.fi/how-we-type/]
Unboxing a Keymacs keyboard!
Nov 27, 2021
xtodo 2022-01-04

2019-11-20 . add to a index page

oki gourd spring keyboard 201711 5eaf8-s289x217
OKI Gourd Spring Keyboard
xtodo 2022-01-04
Access-IS 120-key grid keyboard 2014 davkol
[photo by davkol from https://geekhack.org/index.php?topic=47734.250 ]
xtodo 2022-01-04

reddit discussion reddit

i highly recommend Gergely Nagy's stuff. Check out his latest blog https://asylum.madhouse-project.org/blog/2017/01/03/model01-prototype/

though, i think few things am not sure it's utmost optimal for everybody.

for example, the tab dance keys. (one might call it multi-char key instead. When you press key once, it insert one char (say, the left paren), press it twice, it inserts another (say, the left square bracket), press it 3 times, it insert left curly bracket (braces). As far as i know, he has 2 tab dance keys for inserting the left and right of the 3 types of brackets ()[]{} )

for me, i think that's not optimal. I think the most efficient way to insert brackets pair, say, the parenthesis, is to press a key, and both opening and closing are inserted, with cursor moved to the middle.

this brings us to another issue, is that i find not all operations can be optimally done on keyboard firmware. The inserting brackets by pair is a example. For example, suppose there is a text selection, then you press the insert bracket pairs key. Here, i think best behavior is for brackets to be placed around the selected text. So, this cannot be done with keyboard firmware itself. This goal must be done in conjunction with an editor+OS. (or, perhaps in the coming future, the keyboard hardware can actually communicate with OS in both directions more than just transmitting keys.)

The above is one example.

I recently chatted with him and we haven't discussed this idea yet.

there are more details about the brackets insertion. For example, keyboards don't have the luxury of having 2 or 3 physical keys dedicated to just the 3 types of brackets. (on traditional PC keyboard, 4 physical keys are dedicated for brackets, with help of Shift to type the 6 ascii bracket chars.) On fancy ergonomics keyboard, usually they are matrix layout, and sacrifice the sundry extra pinky keys on the far right of keyboard, so, even fewer keys. So, when we consider keyspots, we may not have the luxury to have 2 or 3 or more dedicated keys for brackets. We must resort to other means, such as tab dance, with shift, or with leader key, or layer. Which way is most optimal. Then, if we have nice system to insert brackets, one starts to also want the same way to insert “curly quotes” and ‘single curly’, «french» ‹single› and other unicode brackets chinese/japanese 〈〉「」〔〕【】, math floor ⌊⌋ math ceiling ⌈⌉. This is a reason am not a big fan for tab dance key for brackets.

[edited, extended]

great news about the bi-directional protocol! Thanks.

about the tab dance key, i feel pressing the same key 3 times is too much, and pressing same key to insert diff character is slightly more complex a model than i liked. Also, it can't generalize to lots other commonly used brackets such as «french» ‹single› “curly” ‘single’, chinese 「」【】〈〉《》, math floor ⌊⌋ math ceiling ⌈⌉ etc. Since they are all matching pairs, it'd be nice to have the same mechanism to insert them all. With tab dance for bracket, seems it can't generalize to all these unless one dedicate more keys for each.

also, inserting single bracket isn't appetizing for me. You mentioned you use emacs electric-pair-mode. But now, there's a situation where the keyboard relies on emacs to behave optimally. What if user is not using emacs? Also, even with emacs, now you have one physical key for the tab dance right bracket, that's kinda wasted.

also, you put the tab dance keys on a relatively harder to reach position, near the middle of keyboard. (pic here https://asylum.madhouse-project.org/blog/2016/10/15/multi-purpose-keys/ ) from my experience with truly ergo keyboard, that in the long run isn't feeling too good. (but really, kinda not much alternative because there are only so many keys under hands but more commands/chars needed)

so for me, my current solution is to use leader key sequence, to insert some 10+ types of brackets. The keys in question are thumb for leader, and home row for the most used (){}[], and other letter keys for other brackets. I'd prefer the total count of key sequence be just 2, including the leader key. But for lack of keys (the easy-to-reach key sequence key spots) to the number of command, now i use 3 keys sequence to insert all brackets. Done in emacs.

about Esrille having too many thumb keys or they being less ergonomic than keyboardio model 01, i think it's open to debate.

i haven't touched neither. You haven't touched Esrille.

but by analysis, Esrille thumb keys seems fine to me, because:

keyboardio model01 thumb keys 2017 01 09 esrille keyboard thumb keys 2017 01 09

let's look at the left side. Esrille has 5 thumb keys. Look at the middle one. It's between V and B. Now, this key position is comparable to M01's left most thumb key, also between V and B.

To the right of this thumb key, there are 2 more on esrille, and 3 more on model 01. So, we can say that on model 01 there's 1 extra that requires more reach than esrille.

To the left key, there are 2 more on esrille, and 0 model 01. So, we can say there are 2 more on esrille.

Now, the left most on esrille is between X and C, which is common on Microsoft ergo keyboards and very easy to reach. So, i think the Esrille thumb keys, are all OK. While the model 01, has one far right key.

but overall, i think we need to actually use them both to have good comparison, as even slight positional offset collectively has impact on how we feel and use the keyboard.

Lars Brinkhoff SAIL keyboard 2022-01-02
Lars Brinkhoff SAIL keyboard 2022-01-02

The SAIL keyboards were connected to a custom scanner. Similarly, the Knight keyboards were connected to a PDP-11 with custom boards for framebuffers and keyboards. The 11 passed on the keys to the MIT-AI PDP-10 through shared memory.

(https://twitter.com/larsbrinkhoff/status/1477621172019904516 Lars Brinkhoff 4:41 AM · Jan 2, 2022·Twitter)

Cleave Keyboard
added a video.

Maltron Keyboard
minor update

updates and new pages.


Hermes Ambassador B1-C Typewriter (1965)
Smith Corona VTX 100
AEG Olympia CPD 3212A calculator

xtodo 2022-01-01 put into a index page and need year, research AEG Olympia CPD 3212A calculator

xtodo 2022-01-01 put into a index page and need year, research Smith Corona VTX 100

minor updates.

Apple iMac G3 mouse, 1998

added 🌐 to Keyboard Symbols ⌘ ↩ ⌫

FN Key
Huawei Laptop Camera Key

Fun Keyboards

Microsoft Surface Tablet Charger
Commodore PET 4016
Xah No Chord

Keyboard Shortcut Notations

Linus Chipmunk 2021-12-21
Linus Tech Tip Chipmunk

What is 50 G mouse acceleration?

mouse 50g acceleration 2019-01 wVnZQ
mouse 50g acceleration 2019-01

One thing i never understood. What is mouse acceleration, those in mouse specs?

OrbiTouch keyless keyboard

Weweya Barefoot Shoes 20210420 r7B4q-s250
Barefoot Shoes
M1 MacBook Air kbd 20211219-s250
M1 MacBook Air

Display Ink Tablet
lots more photos.

Bought a M1 MacBook Air. It's Supreme. Apple M1 Chip

Apple Laptop Keyboards (new photo)

Elgato Stream Deck expanded.

Kyria Keyboard

Do-It-Yourself Keyboards

Mouse Weight Comparison

T-34 Layout Review

Thumb Keyboard Layouts

Mouse Pad for Bed

why not put shift to thumb

DionBridger says:

Kinesis/Ergodox Layout for Xah Fly Keys what is the case for not putting shift keys on the thumb cluster?

thumb keys all used up. but alt layout can be designed... shift key is nasty. i tried to eliminate it or move to thumb, several effort over the years, but end up they stay where they are.

my thinking is that thumb keys are best for modifiers and pinkey keys the worst

yes. but i just haven't came up with a layout that put shift as thumb. one of the issue with modifiers in thumb is that, ideally, u want 2 for each hand. ideally, one should be enough. however, from experience, two is really much more ergonomic. because using the same hand to hold a thumb modifier and pressing another key, is just not comfy. so, that means, for each modifier, they need 2 keyspots in thumb position. this really strain the thumb spots. There's not enough thumb keys. There's control alt win/cmd and shift. because for thumb, for each hand, say right hand, really there are just 2 spots for comfy reach. beyond 2, there'd be some thumb movement. And if that key u need to press very often, as in every 1 min, such as shift. Then, u got a potential rsi inducing problem. thumb keys is relative new, but there's already lots report of rsi with thumb. e.g. thumb trackball, and from ergodox users. so, thumb keys, isn't some sorta cure all. we still need to be careful.


ELECOM DUX 70BK Mouse minor update

new photo and update.

Trackballs That Can Spin updated.

Barefoot Shoes

X-Bows Knight Keyboard

arrived. review incoming

Samsung Galaxy Z Flip3 5G
Display Ink Tablet
Elecom EX-G Trackball MX8q-s250
Elecom EX-G Trackball

Logitech M720 mouse no onboard memory

This mouse (Logitech M720) does not have onboard memory. Meaning, you should always buy logitech's gaming mouse instead.

logitech m720 mouse 2021 2QgB
logitech m720 mouse Buy at amazon

Logitech M720 Wireless Triathlon Mouse with Bluetooth for PC with Hyper-Fast Scrolling and USB Unifying Receiver

Dumang DK6 Keyboard new photos

digital cam as webcam

a great YouTuber i watch is using this, as a streaming webcam. Expensive.

Canon PowerShot Digital Camera [G7 X Mark II] with Wi-Fi NFC, LCD Screen, and 1-Inch Sensor Buy at amazon

Why You Need 10 Buttons Mouse

if you no have enough buttons. say Logitech G502 Mouse which has technically 11 programable buttons, but actually just 5 extra for customization. first command to drop, is forward page.

Xah Keyboard Blog Archive

Xah Keyboard Guide