forked from jordansissel/keynav
-
Notifications
You must be signed in to change notification settings - Fork 0
/
keynavrc
142 lines (128 loc) · 3.41 KB
/
keynavrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# This is a keynavrc file. Yours should live in
# $HOME/.config/keynav/keynavrc
#
# Lines beginning with '#' are comments.
# Format is:
# keysequence cmd1,cmd2,cmd3...
#
# Other special values are:
# 'clear' on a line by itself (no quotes) will erase all keybindings
# (including the defaults)
# 'daemonize' on a line by itself (no quotes) will make keynav background
# after parsing the configfile and having no critical errors.
#
# The 'start' command alone is handled specially, in that any key sequence
# mapped to 'start' will be grabbed when keynav starts up so you can invoke it
# to activate keynav. The remaining keys are only recognized while keynav is
# active
#
# Project page; http://www.semicomplete.com/projects/keynav
# Use 'clear' to blow away any previous keybindings
#clear
# Use 'daemonize' to background ourselves.
#daemonize
ctrl+semicolon start
Escape end
ctrl+bracketleft end
h cut-left
j cut-down
k cut-up
l cut-right
y cut-left,cut-up
u cut-right,cut-up
b cut-left,cut-down
n cut-right,cut-down
shift+h move-left
shift+j move-down
shift+k move-up
shift+l move-right
shift+y move-left,move-up
shift+u move-right,move-up
shift+b move-left,move-down
shift+n move-right,move-down
space warp,click 1,end
semicolon warp,end
1 click 1
2 click 2
3 click 3
# Zoom to the current window
w windowzoom
# Zoom to the cursor location with a given height and width
c cursorzoom 200 200
# Handy for holding ctrl while using keynav:
ctrl+h cut-left
ctrl+j cut-down
ctrl+k cut-up
ctrl+l cut-right
ctrl+y cut-left,cut-up
ctrl+u cut-right,cut-up
ctrl+b cut-left,cut-down
ctrl+n cut-right,cut-down
# Arrow keys can move the grid as welll
Left cut-left
Down cut-down
Up cut-up
Right cut-right
shift+Left move-left
shift+Down move-down
shift+Up move-up
shift+Right move-right
ctrl+Left cut-left
ctrl+Down cut-down
ctrl+Up cut-up
ctrl+Right cut-right
ctrl+shift+Left move-left
ctrl+shift+Down move-down
ctrl+shift+Up move-up
ctrl+shift+Right move-right
# Record keynav actions
q record
shift+at playback
### Example using the 'sh' command.
# Make firefox the active window
f sh "xdotool windowactivate $(xdotool search -title -- '- Mozilla Firefox')", end
# Make a new tab in google chrome:
t sh "xdotool windowactivate $(xdotool search --title -- '- Google Chrome' | head -1); xdotool key ctrl+t",end
# Paste
v sh "xdotool key shift+Insert"
### Drag examples
# Start drag holding the left mouse button
#q drag 1
# Start drag holding middle mouse + control and shift
#w drag 2 ctrl+shift
# Dragging with modifiers
#q drag 1
#ctrl+q drag 1 ctrl
#shift+q drag 1 shift
#shift+ctrl+q drag 1 shift+ctrl
### History
a history-back
### Example of cut and move without the default values
#h cut-left .75
#j cut-down .75
#k cut-up .75
#l cut-right .75
#shift+h move-left .50
#shift+j move-down .50
#shift+k move-up .50
#shift+l move-right .50
### Example using a 2-row, 3-column grid,
# mapped to Insert/Home/PageUp/etc...
#6 grid 2x3
#Insert cell-select 1x1
#Home cell-select 1x2
#Prior cell-select 1x3 # PageUp
#Delete cell-select 2x1
#End cell-select 2x2
#Next cell-select 2x3 # PageDown
### Example using a 3x3 grid with nethack-vi keys
#ctrl+semicolon start, grid 3x3
#h cell-select 1x2 # left
#j cell-select 2x3 # down
#k cell-select 2x1 # up
#l cell-select 3x2 # right
#y cell-select 1x1 # up-left
#u cell-select 3x1 # up-right
#b cell-select 1x3 # down-left
#n cell-select 3x3 # down-right
#period cell-select 2x2 # center