惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Forbes - Security
Forbes - Security
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Jina AI
Jina AI
美团技术团队
博客园 - 聂微东
博客园 - 叶小钗
Security Latest
Security Latest
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
博客园_首页
Spread Privacy
Spread Privacy
J
Java Code Geeks
雷峰网
雷峰网
宝玉的分享
宝玉的分享
C
Cyber Attacks, Cyber Crime and Cyber Security
P
Privacy International News Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threat Research - Cisco Blogs
The Hacker News
The Hacker News
量子位
L
LINUX DO - 热门话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
G
GRAHAM CLULEY
D
Darknet – Hacking Tools, Hacker News & Cyber Security
月光博客
月光博客
腾讯CDC
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tor Project blog
罗磊的独立博客
V
Vulnerabilities – Threatpost
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
有赞技术团队
有赞技术团队
Project Zero
Project Zero
Hugging Face - Blog
Hugging Face - Blog
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Tenable Blog
MyScale Blog
MyScale Blog
T
The Exploit Database - CXSecurity.com
GbyAI
GbyAI
博客园 - 【当耐特】
O
OpenAI News
Schneier on Security
Schneier on Security
S
Secure Thoughts
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Securelist
博客园 - 司徒正美

Fabien Sanglard

The art and engineering of Silpheed Magic the Gathering format: Fun 40 How Michael Abrash doubled Quake framerate Let's compile Quake like it's 1997! Is QSpy still cool? Let's play QuakeWorld! Building a 1997 Quake PC: Benchmarking GLquake Building a 1997 Quake PC: Benchmarking Vquake Building a 1997 Quake PC: Benchmarking Quake Building a 1997 Quake PC! Why WinQuake exists and how it works Quake Engine Indicators How quake.exe got its TCP/IP stack Building my childhood dream PC Why fastDoom is fast Watching sunsets SNES: Sprites and backgrounds rendering How the SNES Graphics System works Carving the Super Nintendo Video System Inside the Super Nintendo cartridges The evolution of the Super Nintendo motherboard The hearts of the Super Nintendo How the DevTeam conquered the iPhone Why Android developers no longer need Windows USB drivers How Apple's Pro Display XDR takes Thunderbolt 3 to its limit The bash book to rule them all 0x4 reasons to write and publish Forty years of programming Exploring Command-line space time Ode to the M1 mDNS Primer Commander Keen: Adaptive Tile Scrolling 10NES Good Vibrations Driving Compilers The Joy of Computer History Books All you may need is HTML Mjolnir A Linux evening... Books update The Book Of CP-System, paper version CCPS: A CPS-1 SDK The Book Of CP-System The Beautiful Diablo 2 Resurrected machine USB Cheat Sheet CPS-1: GFX system internals Street Fighter 2: Sound System Internals Street Fighter 2: Subtile accurate animation Street Fighter 2: Spin when you can't Street Fighter 2: The World Warrier Following Street Fighter 2 paper trails Observing my cellphone switch towers Game Engine Black Book: DOOM, Korean Edition The confusing world of USB The beautiful silent thunderbolt-3 PC These are called opportunities Game Engine Black Book: Wolfenstein 3D, Korean Edition WHEN 13.3 > 14 Switching to Lenovo Carbon X1 Discret 11, the French TV encryption of the 80's A tale of Ghosts'n Goblins'n Crocos Revisiting the postcard pathtracer 0x10 rules An history of NVidia Stream Multiprocessor Revisiting the Businesscard Raytracer The Making Of Stunt Island The Polygons of DOOM: PSX The Polygons of Another World: Jaguar The beautiful machine The Polygons of Another World: GBA The Polygons of Another World: SNES The Polygons of Another World: Genesis The Polygons of Another World: PC DOC The Polygons of Another World: Atari ST The Polygons of Another World: Amiga The Polygons of Another World Strike Commander: Interview with Frank Savage A trip down NBA Jam graphics pipeline Game Engine Black Book update The story of the 3dfx Voodoo 1 The story of the Rendition Vérité 1000 How DOOM fire was made Deciphering the postcard sized raytracer How the Dreamcast copy protection was defeated Game Engine Black Book: DOOM Game Engine Black Book: Wolfenstein 3D, 2nd Edition Bloated Game Engine Black Book Postmortem FizzleFade Game Engine Black Book ReleaseDate Let's compile like it's 1992 Game Engine Black Books Trespasser: Jurassic Park CG Source Code Review Git Source Code Review The Computer Graphics Library Algorithms and Data structures books: One size doesn't fit them all Learning Legendary Hardware Decyphering the Business Card Raytracer More Doom III BFG Documentation Doom III BFG Documentation Reverse Engineer Strike Commander
My favorite keyboards
2026-06-29 · via Fabien Sanglard

June 28th, 2025

My favorite keyboards

When I started using computers, we had a Sinclair ZX Spectrum at home and a nano-reseau of Thomson MO5s at elementary school. I distinctly remember how unpleasant it was to type with them. These must have been the worst keyboards I ever used[1]. Ever since, I have paid close attention to the keyboards I use. Here is the list of my all-time favorites.

IBM Model M


I discovered the IBM Model M in 1993 when I went over to the neighbor who owned an IBM PS/1 6128. I was immediately hooked to the feel of the keys and their clicky sound. It felt like using a typewriter and I loved it.

It took me many years to find one. I vividly remember the Craigslist ad for a dilapidated computer shop in a Toronto suburb. Inside I found piles of them, stacked six feet high. All of them had some kind of damage so I picked a few for $20 apiece and rebuilt one that looked pristine. I used it for nearly 10 years after that.

My IBM Model M while studying Quake 2 engine (2011)

8BitDo has released a Model-M inspired modern mechanical keyboard. It looks gorgeous (1, 2, 3, 4, 5), sounds like a dream, and is overall an excellent keyboard that I have used a lot to play Diablo II: Resurrected.

IBM Model M SSK


It is only in 2025, when I was building my own IBM PS/1 6128, that I discovered the IBM Model M, SSK (Space Saving Keyboard) with 84 keys. Not having that cumbersome keypad eat up the space and pushing the mouse location further right is so convenient, it surpasses the 101/102-key version.

IBM Model M SSK

ConcertMaster


John Carmack working on DOOM 3 (2003)

The NMB RT-9100W, ConcertMaster, is an icon. After id Software shipped Quake, they retired their NeXT-based stack in favor of Intergraph workstations running Windows NT. The RT-9100W came standard with the TDZ RealiZm purchased by id. This is the keyboard programmers used to write QuakeWorld, WinQuake, and QuakeGL.

John Carmack enjoyed working with this keyboard so much that he kept it for many years after Quake shipped. All subsequent id games, from Quake II, Quake III, to Doom 3 were written using this keyboard as assessed by the documentary G4 Documentary: The History of Doom and Making of Doom 3 (2003).

NMB ConcertMaster RT-9100W. Super-hard to find in good condition nowadays.

The membrane base makes the keys feel quite peculiar and not on par with a Model M. It is also a beast of a keyboard. But it has the advantage of packing the best sound system I have ever come across on a keyboard. The sound quality is surprisingly high, even when powered only by a 6-pin mini-DIN (PS/2) connector. The volume knob is ultra-convenient. And not having to add speakers on the desk is gold. It is a lovely keyboard that became the signature of my Quake build.

Nothing screams 2000s like John Carmack wearing a NEXT Generation magazine T-shirt, surrounded by a ConcertMaster, a Mac G3, a 28″ InterView monitor, and an SGI Visual Workstation.

Ergodox EZ


As I was getting older, I started to feel discomfort when I typed for extended periods of time. The problem was solved when I started using a keyboard that let my wrists and forearms be stable while working.

Ergodox EZ (2016). Notice the custom 3D-printed legs to increase the tilt.

With its detached parts, the Ergodox EZ is able to adjust to any typist. I used that keyboard for 10 years. I liked it so much that I bought one for home and one for work.

Moonlander


I have raved and rambled about the Ergodox EZ. It solved my RSI problems. I thought it was going to be my last keyboard. There was just one problem.

It was impossible to tilt properly. I tried many ways to solve the issue, from the official Ergodox Tilt/Tent Kit to 3D-printing my own solutions. The result was always wobbly. Occasionally the legs would slip and the keyboard would crash onto the desk. I developed muscle memory to avoid pressing too hard on the keys, but that made me miss keystrokes.

Six months ago, I was invited to visit Ollama's HQ in Palo Alto. It turned out they had many keyboard connoisseurs there. One of them even worked with a gorgeous Model M. Another engineer's setup piqued my curiosity. They had something tilted nearly 50° that felt solid and stable. I immediately noticed that I was no longer afraid to press hard on the keys.

Moonlander with Platform Tilt kit (2026).

As soon as I got home, I ordered a ZSA Moonlander (Black / Kailh Box Brown / Printed Keys) with its Platform accessory. The Moonlander is my dream keyboard. It has everything the Ergodox EZ offers, and it remains ultra-stable while tilted on the Platform. I really hope this will be my last keyboard.

References


^ [1]Closely followed by my later machines, the Amstrad CPC 6128 keyboard, and the Atari 520 STE keyboard.


*