I've just created an emulation for Miniguru and Tex Yoda on X11.
I can now pretend my EnduraPro is a TEX Yoda ;-)
https://github.com/frgomes/carpalx
You can also mixin Colemak, Dvorak or other custom layouts as you wish.
What is difference between this app and autohotkey? With autohotkey is possible to make much better layout than on this keyboards.
does autohotkey run on linux?
http://ahkscript.org/download/ (looks like no).
rgomes's stuff does. If you notice it helps you navigate the complicated commands for setxkbmap. I like it.
IronAHK and AutoKey. Anyway, choice is good and hope this app works well, so good luck rgomes with your app.
This is not technically an "app". It is basically a set of configuration files for X11.
The point is: X11 was designed to handle any kind of keyboard without external assistence (device drivers). It can even emulate a mouse with the keyboard. You just need to configure X11 properly, which is not always trivial.
You don't need AutoKey on Linux, IMHO. I suppose there's no AutoKey for Linux since it is not needed, really.
X11 allows you to redefine Win-F, Win-R and Win-E for example, among others. In Linux you can do whatever you wish in regards to keyboard configuration. You just need to know the scan code associated to a key and that's all.
I guess this configuration (provided by this package) works well with FreeBSD too (which is not technically Linux) since package 'xkb' was initially written for FreeBSD. If it works in FreeBSD, it will possibly work just fine on MacOS too, since MacOS is based on FreeBSD. But I haven't tested any of these things
Chances are that working for any flavor of linux, FreeBSD and MacOS is a matter of just adjusting the path where the configuration files are installed. The installation script was tested on Debian and Ubuntu; and it will send an email to me when it find troublerunning on a different distribution. I will contact people trying to install in other distributions so that I will get some help adjusting the script for other distributions. It must be a matter of adding one line for a given distribution and that's it!
I hope it helps. Cheers
No it does not help.
Linux user here. I have been using linux as my main OS since 2003.
Your point about linux or X11 having been designed to handle any kind of keyboard is true, but only in theory.
In practice, it is very difficult or even impossible to do on linux things that are easily done on the Mac or on Windows.
On a Mac, you use Karabiner (formerly known as KeyRemap4MacBook) to write relatively simple scripts that allow you not only to change key assignments, but also to change the behavior of key combinations, and much more.
On Windows, you have AHK (AutoHotKey). It does the same thing. You write scripts to change the keyboard's behavior. And you can do pretty much anything.
On linux you have... NOTHING.
True, you can change xmodmap and use xkb and fiddle with various system-wide configuration files.
But it's a
horrible mess. Most of the time you have to close and re-open your session to test your changes, or even reboot.
Some of your changes will affect X sessions (graphical sessions), other changes will affect the console (outside of the GUI).
Some things are extremely difficult or maybe impossible to do. Doing something simple may require changing several system files.
Just an example: I want Ctrl-Up to do PageUp and Ctrl-Down to do PageDown. The behavior of Up and Down when they are pressed alone must not be changed.
How do you do that in linux?
I have been able to do it with a program called AutoKey. Unfortunately AutoKey is very buggy, and hangs when you press and hold a key for which you have defined a new behavior. So it's not an option.
I have tried to write a C program to do just that, using X11's Xrecord extension, just to discover that you can intercept key presses, but not remove key presses from X11's input queue. Doing so would actually require messing with DBus or patching some system drivers.
Long story short: please don't hype linux or FreeBSD's ability to remap the keyboard, because it's 20 years behind Mac and Windows in this regard.
It is actually easier to hook a microcontroller to your keyboard to remap it than to do it inside the OS (that's how I do it, with Hasu's TMK firmware).
And it's coming from someone who would otherwise advocate in favor of linux.