Results 1 to 10 of 18

Thread: Easy shift / ctrl / AltGr / etc hack on xf86-input-evdev

Hybrid View

  1. #1
    Join Date
    Jun 2011
    Location
    Japan
    Beans
    1

    Easy shift / ctrl / AltGr... hack

    Hi. This hack provides for example "space/shift dual role key". When you press the space key alone, it's a space; but when you press it with another key, it's a shift. Any pairs of keys are possible. This means your hands stay almost always at their home postion. Now I can't type comfortably without it.

    It's a fork of Xorg "evdev" driver (= xf86-input-evdev, or in debian/ubuntu xserver-xorg-input-evdev).

    * Readme tells the detail.
    * homepage. You can get the source tarball and git access instruction.

    FAQ
    Q: Can I input Shift+Space if my Space is Space/Shift dual-role key?
    A: Turn both of your Space and Shift into Space/Shift keys.

    News for 2.8.0 (Jun 2013)
    Merges the upstream 2.8.0, and has no changes in ahm itself since 2.7.3. For full changes, read README, "News" section:

    Installation
    I'm not a debian-ish distro user! Fortunately, there's an Ubuntu PPA for this hack contributed by Yuri Khan. (Thanks!) I don't give general instruction and caution on PPA here. Use it at your own risk, but the source package may be nice; at least looking into debian/ directory will help.

    Alternatives
    * xcape. See the homepage for how to compile. It's a userland software, so you don't have to catch up the upgrade of xf86-input-evdev.
    * Obsolete alternatives are Space2Ctrl in C++ and keydouble in C, which is a fork of Space2Ctrl.

    Notice
    Probably I don't develop any more this hack as a fork of xf86-input-evdev. It's better to do all in user space, rather than as an X driver.

    If you want some progress, improve xcape. I'm also interested in a rewrite in Python, which will be easier to allow flexible configuration. It'd be great if it'd be integrated into AutoKey, but its development seems to have stopped.

    With best regards.
    Last edited by teika; June 27th, 2013 at 02:13 PM. Reason: Updated for 2.8.0 release.

  2. #2
    Join Date
    Jun 2011
    Location
    Japan
    Beans
    1

    at-home-modifier-2.6.3 is released.

    Hi. at-home-modifier-2.6.3 is released. Changes since the last post (2.6.0) are:

    * Fast type fix
    Users of this hack often have “tongue-twister of finger”: Suppose you want “ x”. If you press space/shift, press x, and release space/shift (before releasing x), you’ll get an upper-case X instead.
    Fixes of this kind are attempted with new “AhmDelay” and “AhmFreezeTT” options.

    * Cancellation by timeout
    Suppose you were about to input shift + A and pressed space/shift, but you changed your mind. If you release the space/shift key, you’ll receive one space, but it’s not what you want!
    This can be fixed by long enough press now.

    * Reset
    When something is wrong, leave the keyboard untouched for 10 secs. Then all are reset to the initial state.

    * Gtk widget double press issue.
    To push a gtk button, sometimes you had to press space/shift key twice, but this is fixed. If it doesn’t work out-of-box, set “AhmPaddingInterval” option. (This “bug” is not the author’s fault, but what’s bad for users are bugs.=)

    For full changes, read README, "News" section:
    http://gitorious.org/at-home-modifie.../master/README

    With best regards.

    Homepage: http://gitorious.org/at-home-modifier/pages/Home

  3. #3
    Join Date
    Jun 2011
    Location
    Japan
    Beans
    1

    Re: Easy shift / ctrl / AltGr / etc hack on xf86-input-evdev

    I've added installation instruction. See the first post.

  4. #4
    Join Date
    Apr 2009
    Beans
    6

    Re: Easy shift / ctrl / AltGr / etc hack on xf86-input-evdev

    this sounds cooool.. will say after using for few days.

  5. #5
    Join Date
    Jun 2011
    Location
    Japan
    Beans
    1

    ahm-2.6.4 is released.

    Hi. at-home-modifier-2.6.4 is released. It has one minor fix, "mouse support":
    When you press space/shift and a mouse button, the result used to be shift + click, ok, but also followed by an extra, unwanted space, as if the click hadn't happened. It's because each device ignored others. Now it's fixed, as long as the mouse is also handled by evdev driver. (Notebook touchpads are dealt by synaptics driver, so it's not fixed, and won't be fixed. Use AhmTimeout option as a workaround.)

    For building, read the first message in the debian thread.

    @kindahero:
    Thank you for checking. Good luck!

    If you find the news or README difficult to understand, then feel free to ask.
    <quote>"What's inconvenient is a bug." - Teika kazura</unquote>

  6. #6
    Join Date
    Jan 2008
    Location
    Novosibirsk, Russia
    Beans
    4
    Distro
    Ubuntu 9.10 Karmic Koala

    Re: Easy shift / ctrl / AltGr / etc hack on xf86-input-evdev

    I have built xserver-xorg-input-evdev with your patch and posted it in my PPA: ppa:yurivkhan/ahm. Had to resolve a merge conflict with an Ubuntu-specific patch but had no problem otherwise.

    The concept is quite nice. I mapped my home row to [Hyper Super Alt Ctrl | Ctrl Alt Super Hyper] and bound some compiz actions to Super- and Hyper- combinations. It works as expected, though I seem to suffer from a variation of “finger tongue-twister” that AhmDelay does not fix — maybe I’m releasing the second key a little bit earlier than the first one, which then counts as a modifier.

    It would be good to have run-time configurability e.g. via xinput set-prop. After all, such tweaks ought to be per-user only. As of now, I have them configured per-device.

    I would also like to point you to a similar work by Michal Maruska, he seems to put some thought into deciding when to autorepeat a held key in cases when it is also a transmod, and into rollover detection (basically what you call “tongue-twisters”).

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •