TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: A high-level Lisp configurator for the Ergodox keyboard

36 pointsby molteanualmost 5 years ago

3 comments

molteanualmost 5 years ago
I&#x27;ve literally shed a tear when I&#x27;ve unboxed my Ergodox keyboard and saw with my own eyes that one key can do multiple things. Tap it once and it&#x27;s a Space, hold it down and it acts like Control. Little by little, I&#x27;ve changed my whole way of looking at a keyboard, from minimizing hand movement to playing with layers, until I&#x27;ve finally realized that it doesn&#x27;t really matter what is written on the key, since you can fully program it. And after a while, I was wanting a way to have the keyboard and all its layers in front of me, as text, and to just simply say in a consistent way: &quot;I want this key to switch buffers, that is, call `other-window` when I press it&quot; or, &quot;Have this key jump to previous position, that is, simulate a `C-u C-space` when I press it&quot;. Of course, all the other Ergodox features should be available by specifying keys in this way.<p>I eventually implemented this as an Emacs package called mugur. With mugur, you only have to define one big list in your init.el file, with all the layers and keys in a single place. No other extra code needed. After playing around with it for a bit, I find it is easier and faster to explore all kinds of usage scenarios to squeeze every bit of potential from these wonderful programmable machines.<p>I&#x27;m already using mugur to generate the Ergodox configuration that I&#x27;ve used to write by hand before. By hand, meaning writing C code. I&#x27;m expecting there to still be bugs and little wrinkles, but now, at the beginning of an enterprise, it is the best time to try things out and ask for missing features or point out horrible mistakes. So I&#x27;ll gladly hear your thoughts on it. I&#x27;m only supporting Ergodox at the moment since this is what I own and this is what I use. If there really is a need for other keyboards, it is my belief that that can be fixed in the future. If there is no such need, there is no point for me coding stuff for a distant future that never comes.<p>Mihai
评论 #23253968 未加载
nickdrozdalmost 5 years ago
I&#x27;m not an Ergodox user (yet), but this looks pretty cool. You might consider making it more obvious how to use it. Is it a compiler? Or some kind of interpreter? I gather that there is a Lispy configuration language for the keyboard layers, and somehow that configuration gets to the keyboard, but I don&#x27;t understand how. The example from your config didn&#x27;t clarify it for me.
评论 #23254745 未加载
xupybdalmost 5 years ago
Does this work for the ergodox infinity?
评论 #23256800 未加载