Skip to first unread message


Nov 28, 2006, 6:51:10 PM11/28/06
to alphagrip
Hi all,

For those of you who aren't satisfied with the default mapping of the
AG-5 or any popular remap out there, here is yet another one! :-) It
has a couple of features i haven't seen in any other remap yet, but
it's primarily meant for anybody who would like to make their own
remap, but doesn't want to build a script from scratch. Since i expect
people will be making their own remaps with this, the name Yaargh
stands for Yet Another AlphaGrip Remap (yes, i know that actually
spells yaarhg, but i just couldn't resist making it more piraty :-P)
This is another AutoHotkey script, so you will have to get and install
AH. These are it's features:

- Easy to reconfigure
- Remapped keys are held down
- Remapping of red and green shiftlevels
- Any number of custom shift levels
- Explicit shift
- Mousewheel simulation
- Suspend on Right shift, alt or control
- No chording
- No mousebooster

Actually the last two aren't really features, but they have a reason.
About the mousebooster, there are enough adequate solutions out there
in my opinion, and this script can work in combination with them. By
default, the Anderson mouse booster is included if you put it in the
same directory as Yaarg. About chording, i might consider doing a
version that supports chording, but i'm not a big fan of it myself. I
think shifting is really a form of chording as well, but more
responsive since keypresses don't have to wait for another keypress (or
lack thereof) to fire. Finally, a general framework for chording might
present some disappointments since some chords just can't be sent by
the hardware.

About the other points:
- Easy to reconfigure because the keymap and all shiftlevels appear in
the code as laid out on the hardware. Reconfiguring is simply a matter
of putting the desired character in the right spot.

- Remapped keys are held down. Usually the Send command is used to
remap keys. This command sends a single keypress, ie a key down and up
event in one go. If the key is held down, the computer won't be aware
it, but key repeats will be sent by the hardware. This script only send
a key down event when a key is pressed, and doesn't send the key up
event until the key is released. This makes this script suitable for
games that check key states and require the key to be actually down,
instead of generating a character.

- Remapping of red an green shift levels means trouble with capital
shift. For instance, if you would want to remap % on the green shift
map to a normal letter, say x, it would always be capital x because %
is sent as shift-5, which would result in the remapped key being sent
as shift-x being capital x. This script keeps track of what keys send
shifts, and counters them if the remapped character needs it. In some
cases this means that you will always get a small x, but you can still
make it a capital x by using explicit shift.

- Custom shift levels. You can just copy the layout of a shiftlevel and
give it a new name. You will need to define a shift key to go along
with it, but this should be relatively easy by looking at how the other
shifts are done. Alternatively, you can chord shifts to make new shift
levels in the main remap function. There is an example on this
functionality too (red shift makes numbers, blue + red makes function
keys). Be aware though, that you can't chord red+green. If you press
both shifts, then red will override. If you press green with numlock
on, then green will override. This is how the hardware works, and no
remap can change it.

- Explicit shift is really just a normal capital shift, with the
exception that it is sent right away and can also be held down, so it
is more like a real shift key. You can use it if the remapping needs to
break a shift, te be able to generate a shift press if a program
responds to it, or to shift+click.

- Mousewheel simulation is an attempt at getting a better way of
scrolling. Using a normal wheel, you can scroll fast or slowly by
rolling the wheel accordingly. A single key can't really be used to
replace this functionality because it can only be pressed once,
repeatedly or held and autorepeated. In this remap, there are two whole
rows of scrolling keys (one row for up, one for down) so you can
alternate (which can be done slowly or fast, just like rolling a wheel)
or "drum" your fingers across them. If you press a scrolling button,
this remap will include the index fingers as scrolling buttons too
(normally mapped to other functions) to make the rows complete. You
might want to remove this functionality however, if your own remap
doesn't use it.

- Like the other remaps, this script will toggle suspend with
printscreen. In addition, the script suspends when a right-side
modifier key is received. The AG-5 is only able to send left shift,
left control and left alt. So if the right versions are received, that
must mean you've started typing on another keyboard.

Finally some notes on the key map. I am a programmer, so i put all
characters i use often in an easy accessible spot. This only affects
shifted layouts though, so this shouldn't bother non-programmers. I
think shifting is actually more comfortable than using the outer keys,
especially with the ring finger (ie W and .: on the hardware map), so i
made an ordering of which keys i find most comfortable to type for all
positions, and all positions using a shift, and used that to assign
characters to keys. In addition, i tried to minimize characters that
appear next to each other often sharing a finger, shifted or not
(especially hard for the index fingers since they operate four keys).

On shiftmaps:
Space is mirrored on the front, so that you may always use a free thumb
to type space, even after having typed a shifted character, or even
while holding a shift if the character you will type next needs that
shift too. The characters in a shiftlevel are grouped functionally.
Blue shift is most easy to type (in my opinion) so it contains the
alphabetic characters that won't fit on the unshifted level (which i
find more comfortable to type than unshifted outer keys) and
punctuation. Red shift is numbers (so you can still use the AG numlock)
and operators programmers will use often. Cyan shift (so named because
it is located between blue and green, which would make cyan if you mix
them) is navigation. Cursor movement and mousewheel simulation is done
here. I wanted to include browser_back and browser_forward, but they
don't seem to work. Instead, i put alt+left and alt+right there, which
corresponds to back and forward in FireFox. Green is special
characters, and also includes readymade shortcuts for cut, copy, past
and undo.

Download the script here:

Download the cheat sheets for the front and back keys here:

If you want to modify the cheat sheets, you can download a zip file
containing the script, the jpgs above and the photoshop files i used to
make them so you can edit them to reflect your own remapping

This is the mousebooster that the script will include if you put it in
the same directory:


Nov 29, 2006, 9:04:31 AM11/29/06
to alphagrip

Even though I'm not yet ready to get involved in this remap as I've
interrupted my migration to my AG for the moment, I wanted to greet the
quality of your arrangement and coding. The apparent simplicity of your
script fits petty well with the smart flexibility of the functions you
describe here.

If this can prove practical as an everyday usage for you and those who
will adopt your remap, I could have been well advised to delay my
training with former layouts... I will wait and observe ;-)


> Download the cheat sheets for the front and back keys here:http://groups-beta.google.com/group/alphagrip/web/Yaarg+Front.jpghttp://groups-beta.google.com/group/alphagrip/web/Yaargh+Back.jpg

> If you want to modify the cheat sheets, you can download a zip file
> containing the script, the jpgs above and the photoshop files i used to

> make them so you can edit them to reflect your own remappinghttp://groups-beta.google.com/group/alphagrip/web/Yaarg.zip


Dec 1, 2006, 8:43:18 AM12/1/06
to alphagrip
Glad to hear you like it :-) About suitability for everyday use, the
mehcanism certainly is. As for the keymap, that actually comes down to
preferences really. But the whole point is of course that you can make
your own key map easily. I decided that since learning to Grip was
going to take me a lot of time anyway, i wanted to have nothing to do
with qwerty. So i based the map on which keys i find easiest to type,
letter frequency (which i also used to spread the work evenly over both
hands), and digrams not sharing a key.
But again, if you like another non-chording layout better, you can
input it in the Yaarg code and combine some features.
In the meantime, i've made some improvements since i posted the
original one. I want to wait before i update these files here to see if
anyone has any suggestions i could implement as well. Here are the most
important changes:
- The tab and shiftTab are now able to alt-tab
- Custom shifts are lockable, either by double tapping or assigning a
lock key
- F-shift is now Blue + Cyan shift (C+Y or Ent+BkSp), because you can
press that combination with just one thumb

You can also assign a lock for green and red shifts if you want,
although the AG numlock is already red lock. If you don't like the
double tap shift locking you can disable it by deleting or commenting a
single marked line in the code. One issue that i've run into is the
impossibility to type alt+F4. In version 1 you'd need three thumbs, so
i resolved that by changing the shift chord. But now, all possbile ways
to type alt+F4 belong to the annoying realm of combinations that aren't
sent by the hardware <_< You could still use the original hardware alt
though, that combination works. Or you could assign alt+F4 to a spot on
the key map.
But, before i update the files, any suggestions? Wishes? Remarks? :-)

Mike Willner

Dec 3, 2006, 3:07:34 PM12/3/06
to alph...@googlegroups.com
If the outside keys were easier to press, then it would be better to map
more frequently used characters to those keys than to generate them in
combination with a shift. You may want to consider gluing add-ons to your
keys to make the outside keys easier to press.


Dec 4, 2006, 5:38:50 AM12/4/06
to alphagrip
On Dec 3, 9:07 pm, "Mike Willner" <m...@alphagrip.com> wrote:
> If the outside keys were easier to press, then it would be better to map
> more frequently used characters to those keys than to generate them in
> combination with a shift. You may want to consider gluing add-ons to your
> keys to make the outside keys easier to press.
I have thought about it, and i may still try it. But given the design
criteria of no chording and no character keys on top, part of the
alphabet has to be shifted. Swapping the unshifted outer row with the
shifted inner row will give you 11-12% less shifted keypresses though.


Dec 18, 2006, 7:41:01 PM12/18/06
to alphagrip
I have uploaded a new version. This is the one that includes lockable
shifts, alt-tabbing, and more F-keys. This is also the version that i
sent to Lars which he will put on the website and wiki. I used tray
icons to give feedback on lock status, so the single script is no
longer available. You can now download the small zipfile (168k) that
includes the incons and jpg's, and a separate bigger zipfile (1.3MB)
that contains the photoshop files.

Script, icons and cheatsheets:

Photoshop file:


Feb 21, 2013, 7:47:12 AM2/21/13
to alph...@googlegroups.com
Hi everyone,
I'm having problems making this to work (downloaded the latest version of the yaarg script, dated 21/12/2006). It looks like autohotkey has changed a little and old scripts are not compatible anymore.
Is there a new version of the script for the newer autohotkey?

The symptom I get is that when I type "." (without shift) on the alphagrip, it should be remapped to "x", but I get a capital "V" instead and the shift is apparently forcefully pushed by the script.
I did have a quick look at the script, and I do have a few things that seem rather strange to me:
- the ":" key is not remapped,
- I don't understand the lines that remap the n.12 key (why a Green modifier on the first line?...) although I do understand that the semi colon causes a shifting problem)
Why not simply map characters?


PS: note that the alphagrip without autohotkey works as expected, so it's not a problem with the device.
Reply all
Reply to author
0 new messages