keyboard_layout_optimizer
kbct
Our great sponsors
keyboard_layout_optimizer | kbct | |
---|---|---|
10 | 6 | |
77 | 254 | |
- | - | |
8.0 | 0.0 | |
3 months ago | over 1 year ago | |
Rust | Rust | |
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.
keyboard_layout_optimizer
- Is there a program, or website to calculate an optimal layout given input parameters?
- Is KeyboardEP good?
-
Help finding layout for multiple languages
Regarding evaluating, comparing and potentially even optimizing layouts, I would recommend my keyboard layout optimizer.
-
Critique my layout! Switching from Dvorak to an auto-generated layout optimized for an otholinear keyboard
I recently got a new ergonomic keyboard, after just typing on my laptop for years. I've used an ErgoDox before, so I went with the Moonlander. While configuring the keyboard and playing with the location of the spacebar, I realized that putting it on the right hand side resulted in a really bad balance between the two hands – it seemed like dvorak was way more right-hand dominant, and that was confirmed when I started looking into it. Went down the rabbit hole of alternate keyboard layouts, and found this repo: https://github.com/dariogoetz/keyboard_layout_optimizer . You can specify the physical configuration of your keyboard and provide a sample text, and it will generate layouts for you, using simulated annealing or a genetic algorithm. Here's a screenshot of the generated layout, along with Dvorak on the bottom:
-
Genetically Optimized Keyboard Layout
That's very interesting. I tried a genetic algorithm myself for my optimizer. In the end, I removed the crossover part, but mainly because I did not understand, how exactly it worked :)
-
Looking for optimal layout for specific key choices/Customizable layout generator
You can find the code for the evaluator here. Apart from my own set of metrics, it includes the ones used in KLAnext and also the ones from Oxey's layout playground (with some caveats).
-
A little help with my overthinking please
Regarding an evaluator with support for multiple layers that can be user-configured, supports "classical" hold layers as well as one-shot layers, and modifiers on "any key" (think home-row mods), I can advertise my own evaluator/optimizer https://github.com/dariogoetz/keyboard_layout_optimizer Saves you some time on a new project ;)
-
Autogenned
Identified (amongst others), by tweaked version of https://github.com/dariogoetz/keyboard_layout_optimizer
-
Yet another keyboard layout evaluator/optimizer
I want to introduce a pet project of mine that I have been working on in the last year - a keyboard layout evaluator/optimizer: https://github.com/dariogoetz/keyboard_layout_optimizer
- [OC] Which language is easiest to type on the QWERTY keyboard?
kbct
- Help - Key Remap
-
Show HN: I spent a year designing an low profile, minimal mechanical keyboard
I had a similar problem with the Tecurs KB510 I got at work. The only way I found to type F1-F12 keys on Linux was to set up a hack with kbct [0] and the Super key... until I tried the configuration described in the gist you linked. Thanks a lot for that !
[0] https://github.com/samvel1024/kbct
-
Linux utility to assign different keys to tap vs hold (like Karabiner does in macOS)
I use KBCT and encourage others to support it: https://github.com/samvel1024/kbct
-
me right now
kbct
-
Linux Touchpad Like MacBook Update: Touchpad Gestures Now Shipping
>Creating a "standardized experience" like Windows usually means that configurability goes right out the window. It's how you get abominations like dconf or the GNOME music player
I don't understand how you connected these dots and I'd suggest against calling things abominations. You don't have to use dconf or the GNOME music player, those aren't standardized. If someone does like them I think they're perfectly fine, they do exactly what they're advertised to do. It's also fine if you don't like them, they're just two options from the many configuration databases and media players that you can choose from.
>But why shouldn't I be able to run xbindkeys or sxhkd or whatever hotkey dameon I want?
In some ways you actually can but it depends on the hotkey daemon and how it's implemented. The reason for that is technical, those are implemented with X grabs which have a number of usability and security issues. There are a few key rebinding daemons that use evdev directly so they work with Wayland:
https://github.com/samvel1024/kbct
https://github.com/snyball/Hawck
But these also do have similar security issues to X key grabs, in that they effectively operate as keyloggers. If you're looking for an API that works purely within Wayland and lets unprivileged clients request key rebinding, that doesn't exist yet. Somebody would need to specify what that API looks like and figure out a good way to make it secure. What would the end goal of the API be, and how could the system (and by extension, the user) tell the difference between a legitimate hotkey daemon and a malicious keylogger? And would it actually be any better than the approach of snooping evdev? I don't know the answer to these questions but you may have more experience with this than I do.
- Keyboard customization tool for Linux
What are some alternatives?
Keyboard-Heatmap - Realtime Keyboard Heatmap showing the character distribution of texts - made with heatmap.js
input-remapper - 🎮 ⌨ An easy to use tool to change the behaviour of your input devices.
argmin - Numerical optimization in pure Rust
rkvm - Virtual KVM switch for Linux machines
APT
compute-runtime - Intel® Graphics Compute Runtime for oneAPI Level Zero and OpenCL™ Driver
layout - An article about my layout and releases for its installation.
evsieve - A utility for mapping events from Linux event devices.
oxeylyzer
kmonad - An advanced keyboard manager
kb-layout-evaluation - Evaluate ergonomic keyboard layouts over multiple languages
leddy - Linux LED controller for the Fnatic miniStreak.