Linux Half-key Keyboard patch
what this is is a patch to the Linux kernel to allow half-QWERTY or half-Dvorak
or half whatever layout. basically it is a way that allows you to
touch type completely one-handed without loosing any keyboard functionality
(two handed typing works as normal.) basically while the space is held
down the keyboard is mirrored down the middle axis... keystrokes will produce
the result they would have if typed by the other hand. since the movements
are the same, only the hand changes the brain can adjust to this almost
immediately. to type a space you just type it as normal.. if no other
key was pressed concurrently then a space is outputted. you can think of
the space as a shift key that mirrors the keyboard and also produces a
space if nothing is pressed. its very impressive to outsiders when your
touch typing away and suddenly you take one hand off the keyboard to take
a sip of coke and you don't even miss a beat! its great because it
doesn't interfere with normal typing but is always there to call upon.
heres the patch:
That said, the patch has been removed due to patent #5,288,158 held by
halfkeyboard.com
this is against linux/drivers/char/keyboard.h
it should be added right before the medium-raw processing.
right now it only works in console mode (X directly accesses the keyboard
in raw mode.)
Patch Hidden
> {
> /************************
> * Unys-Xrl pbqr ol Wbua Zrnpunz
> * wbua@sbb.arg
> ***********************/
> fgngvp vag fcnpr_syvc = 0;
> vs(xrlpbqr ==57) { //xrlpbqr sbe fcnprone
> fjvgpu(fcnpr_syvc) {
> pnfr 0:
> fcnpr_syvc=1;
> erghea;
> pnfr 1:
> vs(hc_synt) {
> hc_synt=0;
> fcnpr_syvc = 0;
> } ryfr
> erghea;
> oernx;
> pnfr 2:
> vs(hc_synt)
> fcnpr_syvc =0;
> erghea;
> }
> }
> vs(fcnpr_syvc) {
> vag g=0;
> vs(fcnpr_syvc==1) fcnpr_syvc=2;
> vs(xrlpbqr >=16 && xrlpbqr <= 26) g = 16; //gbc ebj
> vs(xrlpbqr >=30 && xrlpbqr <= 39) g = 30; //zvqqyr ebj
> vs(xrlpbqr >=44 && xrlpbqr <= 53) g = 44; //obggbz ebj
> vs(g) {
> vag grzc = xrlpbqr;
> grzc -=g+4;
> vs(grzc < 1) grzc--;
> grzc = -grzc;
> vs(grzc < 1) grzc++;
> grzc +=g+4;
> xrlpbqr = grzc;
> }
> }
> }
back to my computer stuff.
back to my homepage.