ErgoDox
Mosh
ErgoDox | Mosh | |
---|---|---|
30 | 152 | |
335 | 12,216 | |
0.0% | 0.4% | |
0.0 | 4.6 | |
almost 3 years ago | 28 days ago | |
C++ | ||
- | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ErgoDox
-
Best Ortholinear Keyboards
https://www.ergodox.io/, been around forever now.
- Ergodox keyboard
-
Travel keyboard options
Closest split PCB based design with a Kinesis Advantage thumb cluster, I know of, is the Ergodox Would need tenting to emulate the keywells. Lovingly design and print a case with tenting legs for it? 🤔
-
I built a second ErgoDox to keep at the office. This is my first set of MT3 caps and I LOVE them.
Should be in here somewhere: https://github.com/Ergodox-io/ErgoDox
- Gesucht: Ergonomische, mechanische Tastatur mit Nummernblock
- ErgoDox EZ ft. GMK Lunar on Boba U4s. Love.
-
Keyboard Latency
> Is ZSA's build known to have latency issues compared to QMK?
ZSA is using a patched QMK - they even let you download the exact source for each firmware build they make for you. At the time when I switched to vanilla QMK (that was already some years ago), ZSA were veeery far behind master; running the latest QMK release fixed a couple of issues for me (like hotplugging the halves), so I guess there could be other improvements? No idea really.
> Would a faster microprocessor help
In the MCU world, latency and clock speed can have a very linear relationship - until they suddenly don't. The microcontroller's job is very simple really: scan the key matrix at a certain frequency, perform key debouncing, compare the current state with the previous, and craft a USB HID packet with key press/release events.
So having twice the clock speed could theoretically let you scan twice as often, so it might let you cut the latency in half. Except we have those pesky physics getting in our way! For simplicity let's assume we don't have split halves (where there's an extra serial connection slowing things down); I'm no EE so I only grasp these concepts at the surface level, but signals take time to propagate, and long traces on the PCB (and cables too) have a tiny bit of their own capacitance. (Capacitors are like really fast, really tiny batteries - but they still take a tiny amount of time to charge and discharge, which does all sorts of interesting things to high-frequency signals.)
On top of that, the electrical connection that the pieces of metal are making inside the switch, are never perfect at the exact instant the switch is supposed to (de)register: a couple electrons might start jumping over the air even before contact is made, and the physical connection is subject to normal wear, amplifying the "edge case" effect over its lifetime - which all together means we have to actually spend a certain amount of time "looking" at the state of the switch, to let it settle and make sure we got it right.
We end up spending so much time letting physics do its job that in a trivial firmware, the MCU is actually spending a significant amount of time... just sleeping. Which means we were later able to cram all sorts of madness like individual RGB lightning or status displays, and never decreased the poll rate.
Where would these 40ms come from then? Well I wouldn't get near the problem without an oscilloscope, and unfortunately I don't have one.
> I'm just starting to get into custom keyboards.
Then I recommend studying the original ErgoDox firmware & build instructions! It's extremely straightforward compared to a beast like QMK, which actually uses a whole RTOS.
https://www.ergodox.io/; https://github.com/benblazak/ergodox-firmware
- How to condense 48 buttons to a binary output
-
Hotkeys in ergodox?
Hi! Does anyone here have some experience playing age on an ergodox? I usually move the right part out of the way so that I can have more space for the mouse (it is actually great for things like FPS because the mouse hand is in a very natural position), but the default hotkeys force me to move my left hand across both sides, making it hard to actually hit the key without looking. I've been only using control groups 1-5 due to this, which is less than optimal.
-
Broke my 4th MS Sculpt in 6 years, so I finally made the switch to mechanical.
The closest open source keyboard you'll get next to the Moonlander is probably the ErgoDox that it's heavily inspired from.
Mosh
-
The IDEs we had 30 years ago and we lost
If you haven’t already, and I know this doesn’t hold up for GUI emacs or vim, but consider running them through https://mosh.org/
- mosh: Mobile Shell
-
Write Your Own Terminal
FWIW, I wouldn't try to parse escape sequences "directly" from the input bytestream -- it's easy to end up with annoying bugs. Longer-term it's probably better to separate the logic e.g.:
- First step (for a UTF-8-input terminal emulator) means "lexing" the input bytestream as UTF-8 into a stream of USVs, which involves some subtleties (https://github.com/mobile-shell/mosh/blob/master/src/termina...).
- Second step is to run the DEC parser/FSM logic on the sequence of USVs, which is independent of the escape sequences (https://vt100.net/emu/dec_ansi_parser ; https://github.com/mobile-shell/mosh/blob/master/src/termina...).
- And then the third step is for the terminal to execute the "dispatch"/"execute"/etc. actions coming from the FSM, which is where the escape sequences and control chars get implemented (https://github.com/mobile-shell/mosh/blob/master/src/termina...).
Without this separation, it's easier to end up with bugs where, e.g., a UTF-8 sequence or an ANSI escape sequence is treated differently when it's split between multiple read() calls vs. all in one call.
-
Typing Fast Is About Latency, Not Throughput
Btw, you can use mosh to hide the latency of SSH. https://mosh.org/
-
How do I enable new pane/tab with CWD while using mosh?
I've been using Kitty's SSH features for as long as I can remember but I recently setup Mosh and I really like how it doesn't drop connections and supports roaming.
-
Buying an iPad Pro for coding was a mistake
I am surprised many people write about ssh into a server. Mosh[1] feels more responsive and it also supports longer sessions.
[1] - https://mosh.org/
-
Prompt2, heads up; they are readying up another version Prompt2 has been abandoned by devs since iOS 14 / 1y ago in a crashing state - Now they want to make another money-heist cash-grab from its users by forcing them to upgrade one of the most expensive apps of all time.
Also they support Mosh which I install on my servers. It's way better than plain ssh when you're on mobile networks and wifi, especially with connections that are unreliable or bandwidth-constrained.
- Zellij New WASM Plugin System
-
networkingStarterPack
I’ve recently been experimenting with MoSH (Mobile Shell). Basically think SSH but with UDP - so more resilient to shoddy network conditions, roaming access points, etc.
-
How can I get a lisp image to run in the background?
If it is not for production (e.g. running as a daemon or a server) and you only care about the development, another ad-hoc way is using screen/tmus-like software incl. byobu, and combine it with mosh.
What are some alternatives?
crkbd - Corne keyboard, a split keyboard with 3x6 column staggered keys and 3 thumb keys.
Eternal Terminal - Re-Connectable secure remote shell
SofleKeyboard - A split keyboard based on Lily58, Crkbd and Helix keyboards
tmux - tmux source code
rae-dux - Generated keyboard
Gravitational Teleport - The easiest, and most secure way to access and protect all of your infrastructure.
kanata - Improve keyboard comfort and usability with advanced customization
Advanced SSH config - :computer: make your ssh client smarter
dactyl-cc - A Dactyl like 3d printed keyboard written in C++
Code-Server - VS Code in the browser
Ergo-S-1
PowerShell - PowerShell for every system!