forked from nanosyzygy/ShuttlePRO
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexample.shuttlerc
131 lines (108 loc) · 4.87 KB
/
example.shuttlerc
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
# Copyright 2013 Eric Messick (FixedImagePhoto.com/Contact)
#
# Lines in this file starting with # are comments.
#
#
# This file is divided into paragraphs, each specifying the bindings to
# be used when the keyboard focus is on a specific window. The
# paragraph is introduced with a line starting with [. That line
# contains the paragraph name (which is only used for debugging output
# to help you in editing this file) followed by ], followed by a regular
# expression. When the title bar of the focused window matches the
# regular expression (see regex(7)), the bindings in the paragraph will
# be in effect. The program tries these regular expressions in order,
# and the first match is used.
# If there is no regex on the line, like the [Default] line near the
# bottom, the paragraph acts as a default. Any window title which does
# not match any regex will use the default bindings. Any keys which are
# not specified in the paragraph which does match will use the default
# bindings for those keys.
# While you are working on regular expressions to match your window
# names, is is useful to see the window names and paragraph names which
# the program finds as you generate ShuttlePRO events. Run the shuttle
# program in a terminal window and remove the comment character from the
# following line:
#DEBUG_REGEX
# Within a paragraph, key bindings are introduced with the name of the
# key or event being defined. Keys are named K1 through K15. Positions
# of the shuttle wheel are named S-7 through S-1 for counter-clockwise
# positions, S0 for the rest position in the center, and S1 through S7
# for the clockwise positions. The jog wheel emits two events named JL
# and JR, for counter-clockwise and clockwise rotations respectively.
# The keys on the Contour Shuttle Pro v2 are arranged like this:
#
# K1 K2 K3 K4
# K5 K6 K7 K8 K9
#
# K14 Jog K15
#
# K10 K11
# K12 K13
# After the name of the key being bound, the remainder of the line is
# the sequence of X KeySyms which will be generated when that event is
# received. Look up the KeySyms in /usr/include/X11/keysymdef.h. In
# addition to the KeySym names found there, you can also use XK_Button_1
# for the left mouse button, XK_Button_2 for the middle mouse button,
# XK_Button_3 for the right mouse button, XK_Scroll_Up and
# XK_Scroll_Down for mouse scroll wheel events. For sequences of one or
# more printable characters, you can just enclose them in double quotes.
# Each KeySym you specify will be pressed and released before the next
# KeySym is pressed. If you wish a key to be held down, you can add a
# /D to the end of the KeySym. For example: XK_Shift_L/D,
# XK_Control_L/D or XK_Alt_L/D. Such keys will be held down until you
# specify they should be released with a /U on the same KeySym name.
# They will all be released at the end of the binding anyway, so you
# usually won't have to use /U.
# Key bindings, whose names start with a K, allow for some extra
# options. Since they generate separate events when pressed and
# released, you can control that as well. Each non-modifier key is
# pressed and released in sequence except for the last which is not
# released until the shuttle key is released. If you want to press more
# keys during the release sequence, you can put them after the special
# word "RELEASE". Modifier keys specified with /D are released at the
# end of the press sequence, and re-pressed if there are any keys to be
# pressed after RELEASE. If you don't want the modifier keys to be
# released (you want to use a ShuttlePRO key as Shift, for example) you
# can follow it with a /H instead of /D.
# If you want to see exactly how this file is parsed and converted into
# KeySym strokes, run the shuttle program in a terminal window and
# remove the comment character from the following line:
#DEBUG_STROKES
# As one of the main reasons to use a ShuttlePRO is video editing, I've
# included a sample set of bindings for Cinelerra as an example.
[Cinelerra Resources] ^Cinelerra: Resources$
# use [Default], avoiding main Cinelerra rule
[Cinelerra Load] ^Cinelerra: Load$
# use [Default], avoiding main Cinelerra rule
[Cinelerra] ^Cinelerra: [^[:space:]]*$
K5 XK_KP_0 # Stop
K9 XK_KP_3 # Play
K12 XK_Home # Beginning
K13 XK_End # End
K14 "[" # Toggle in
K15 "]" # Toggle out
S-3 XK_KP_Add # Fast reverse
S-2 XK_KP_6 # Play reverse
S-1 XK_KP_5 # Slow reverse
S0 XK_KP_0 # Stop
S1 XK_KP_2 # Slow forward
S2 XK_KP_3 # Play forward
S3 XK_KP_Enter # Fast forward
JL XK_KP_4 # Frame reverse
JR XK_KP_1 # Frame forward
###
# Here is a start to control ardour (Jan-Peter Voigt)
[Ardour 2] ^.* - Ardour$
K1 " "
K2 " "
K3 XK_Shift_L/D "R"
K4 XK_Home
JR XK_Alt_L/D XK_Right
JL XK_Alt_L/D XK_Left
###
[Default]
K6 XK_Button_1
K7 XK_Button_2
K8 XK_Button_3
JL XK_Scroll_Up
JR XK_Scroll_Down