rev |
line source |
paulo@0
|
1 2008-05-06
|
paulo@0
|
2
|
paulo@0
|
3 This is Jordan Sissel's 'keynav', modified by Paulo Ang.
|
paulo@0
|
4
|
paulo@0
|
5 http://www.semicomplete.com/projects/keynav
|
paulo@0
|
6 http://iacs5.ucsd.edu/~pbang/mouseless.htm
|
paulo@0
|
7
|
paulo@0
|
8 Note that this is based on an earlier release of 'keynav', not the
|
paulo@0
|
9 latest 'xdotool' based code.
|
paulo@0
|
10
|
paulo@0
|
11
|
paulo@0
|
12 To build:
|
paulo@0
|
13
|
paulo@0
|
14 Run 'xmkmf', then 'make keynav'.
|
paulo@0
|
15
|
paulo@0
|
16 To run:
|
paulo@0
|
17
|
paulo@0
|
18 Simply run 'keynav'. For a list of the default keys see 'config.h'.
|
paulo@0
|
19
|
paulo@0
|
20 To configure keys:
|
paulo@0
|
21
|
paulo@0
|
22 Modify 'config.h' and recompile.
|
paulo@0
|
23
|
paulo@0
|
24 To configure even more:
|
paulo@0
|
25
|
paulo@0
|
26 Modify 'keynav.c' and recompile.
|
paulo@0
|
27
|
paulo@0
|
28
|
paulo@0
|
29 Hints:
|
paulo@0
|
30
|
paulo@0
|
31 It's faster to use the "diagonal" movement keys, since they split the
|
paulo@0
|
32 mouse area into four accessible parts, but the binary vi-keys is easier
|
paulo@0
|
33 when you're just starting out or fine-tuning a small area.
|
paulo@0
|
34
|
paulo@0
|
35 A good tactic would be to use the diagonal keys until the point you want to
|
paulo@0
|
36 click on is exactly on the crosshairs (or the selection area is too small),
|
paulo@0
|
37 then just use vi-keys to hone in.
|
paulo@0
|
38
|
paulo@0
|
39 The nine-grid mode is even faster than the regular four-grid mode.
|
paulo@0
|
40 Enable it by default by specifying '-n <num>' parameters to keynav, where
|
paulo@0
|
41 <num> is the number of moves before it automatically switches back to
|
paulo@0
|
42 four-grid mode. Or press Shift-[center]. But you may want to hold off on
|
paulo@0
|
43 using it until you get the hang of the four-grid mode first.
|
paulo@0
|
44
|
paulo@0
|
45 You can have two instances of 'keynav' running simulataneously, as long as
|
paulo@0
|
46 they have different trigger keys. You may want to do this to be able to use
|
paulo@0
|
47 both home row keys and the numeric keypad to 'keynav', for example.
|
paulo@0
|
48
|
paulo@0
|
49
|
paulo@0
|
50 About the statistics:
|
paulo@0
|
51
|
paulo@0
|
52 'keynav' outputs debug messages to stderr, and stats to stdout. Simply
|
paulo@0
|
53 redirect to taste. 'hits' are the number of keys you've hit, 'moves' are the
|
paulo@0
|
54 number of movements made, and 'clicks' are the number of mouseclicks
|
paulo@0
|
55 not including simple clicks (ie, clicks that don't end the movement mode).
|
paulo@0
|
56
|
paulo@0
|
57
|
paulo@0
|
58 If 'keynav' appears to hang:
|
paulo@0
|
59
|
paulo@0
|
60 It's probably because of the drag mode, which can be buggy with some apps.
|
paulo@0
|
61 A click from your real mouse will probably restore keyboard control, where
|
paulo@0
|
62 you can kill 'keynav' and start it up again.
|