desired keyboard behavior

Michal Maruska michal at ruska.it
Thu Sep 17 07:39:16 PDT 2009


On Thu, 17 Sep 2009 01:50:35 -0500
Ethan Anderson <ethana2 at gmail.com> wrote:

> Anyways, since the people who design computer keyboards seem
> incapable of designing them for two thumbs,
I'm glad to hear I'm not alone to watch the lenght of spacebar...
Toshiba notebooks used to have some short ones.

> The only alternative I can see is adding space key functionality to my
> shiftbar, but this would require the following behavior:
> 
> shiftbar press : some variable in the keyboard stack changed, no
> signal sent shiftbar release: space key press+release signals sent,
> variable cleared
> 
> shiftbar press: same thing with the variable
> other key (combo) press+release: shift press signal sent immediately,
> then other signals sent as appropriate

I have been maintaining (for many years) patches for X server (& kernel)
+ some config tools to have this functionality for all the keys I want.
I have shift/hyper/alt/group-selectors ....  on regular letter keys
(that permits using many keysyms per key, in different XKB groups).
At one point I also had GUI tools to study the timings of parallel key
presses.

You can read about my project here:
http://www.ruska.it/michal/fork.html  

My last patches are working for me on  X.Org X Server 1.5.2 (ubuntu
8.10)

> This feature would save me like $500 and allow me to consider getting
> How much would it cost to have this functionality implemented?

I would be happy to spend time on cleaning this up, and have it included
but doing it in free time, now that I have children is slow.

In fact, I'm trying to grow my Git repo out of the patches, but the
input code is changing all the time, and it's growing in complexity.

Btw.  MS Windows Device Driver Kit seems to have hooks to implement this
feature as well.

I can provide more up-to-date information on request.

Michal Maruska


PS:
My configuration, done in a hi-level language, includes this code:

;; fork  L and F to  Hyper:
(fork-keys-to fork (list "l" "f")
                '("ONE_LEVEL")
                '(("Hyper_L"))
                128
                '(((set-mod 1 128 128 0 0))))

;; make all Alt/Meta keys  be Escape, forking to Meta:
(for-each-reverse (fork:physical-meta-keys fork)
    (lambda (meta-keycode)
      (fork-push-to fork meta-keycode
                    '("ONE_LEVEL")
                    '(("Escape"))
                    0
                    ())))







More information about the xorg mailing list