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:
http://groups-beta.google.com/group/alphagrip/web/Yaarg.ahk
Download the cheat sheets for the front and back keys here:
http://groups-beta.google.com/group/alphagrip/web/Yaarg+Front.jpg
http://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 remapping
http://groups-beta.google.com/group/alphagrip/web/Yaarg.zip
This is the mousebooster that the script will include if you put it in
the same directory:
http://www.alphagrips.com/AG5_Andersen_MouseBooster_DualMonitor.ahk
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 ;-)
-ivan
> 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
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? :-)
Script, icons and cheatsheets:
http://groups-beta.google.com/group/alphagrip/web/Yaarg.zip
Photoshop file:
http://groups-beta.google.com/group/alphagrip/web/YaargPSD.zip