1IRXEVENT(1) User Commands IRXEVENT(1)
2
3
4
6 irxevent - infrared X-event sender
7
9 irxevent [option]... [config file]
10
12 Irxevent is a program to send button clicks and key presses to X appli‐
13 cations triggered by a LIRC driven remote control. You can control your
14 favorite CD/MP3 player, your TV tuner program or any other X applica‐
15 tion that responds to keyboard or mouse input. If you like to you can
16 send emacs ^X^S from your armchair.
17
18 Irxevent is a complement to irexec(1) and irpty(1).
19
21 -d --daemon
22 Fork and run in background
23
24 -h --help
25 Display usage summary
26
27 -V --version
28 Display version
29
31 Irxevent works with the same config file as irexec and irpty (~/.con‐
32 fig/lircrc). For a complete sample lircrc look at examples/lircrc.
33
34 Part of your .lircrc could look like this:
35
36 begin
37 prog = irxevent
38 button = VIDEO_UP
39 config = Key SHIFT-KP_Add CurrentWindow
40 end
41 begin
42 prog = irxevent
43 button = VIDEO_DOWN
44 config = Key SHIFT-KP_Subtract CurrentWindow
45 end
46 begin
47 prog = irxevent
48 button = STOP
49 config = Key ctrl-c CurrentWindow
50 end
51 begin
52 prog = irxevent
53 button = 0
54 config = Key f xawtv
55 config = Key f xawtv
56 end
57 begin
58 prog = irxevent
59 button = POWER
60 config = Key q xawtv
61 end
62 begin
63 prog = irxevent
64 button = CH_DOWN
65 config = Button 1 329 92 kscd
66 end
67 begin
68 prog = irxevent
69 button = UP
70 config = Button 1 110 80 GQmpeg
71 end
72 begin
73 prog = irxevent
74 button = DOWN
75 config = Button 1 130 80 GQmpeg
76 end
77
78 Simply said config = lines may look like this:
79
80 config = Key [shift-][ctrl-][alt-]<key> [Focus] <windowname>
81 | WindowID <id> | CurrentWindow | RootWindow
82 config = Button <button> <x> <y> [Focus] <windowname> | WindowID <id>
83 | CurrentWindow | RootWindow
84 config = xy_Key <x> <y> [shift-][ctrl-][alt-]<key> [Focus]
85 <windowname> | WindowID id | CurrentWindow | RootWindow
86
87 Some more examples:
88
89 config = Key Up xawtv
90 config = Key Down xawtv
91 config = Button 1 50 110 xclickme
92 config = Key q xawtv
93 config = Key ctrl-c mpg123
94 config = Key shift-Page_Up rxvt
95
96 In BNF this looks like:
97
98 LINE = "config =" <KEY|BUTTON|XYKEY> <TARGET> |
99 "config =" <KEY|BUTTON|XYKEY> "Focus" <TARGET>
100 XYKEY = "xy_Key" <x_position> <y_position> <MOD><KEYSPEC>
101 KEY = "Key" <MOD><KEYSPEC>
102 MOD = ["shift-"]["numlock-"]["ctrl-"]["alt-"]["meta-"]
103 ["numlock-"]["mod3-"]["mod4-"]["mod5-"]["altgr-"]["scrlock-"]
104 KEYSPEC = Keyname | "KeySym:"KeySym | "KeyCode:"KeyCode
105 BUTTON = "Button" <1..5> <x_position> <y_position>
106 TARGET = Windowname | "WindowID" id | "CurrentWindow" | "RootWindow"
107
108 Keyname:
109 is the key symbol that is declared in X windows. E.g. "Up" refers
110 to the cursor arrow pointing up. "KP_Add" is the plus sign on the
111 key pad. Just take a look at irxevent.keys (in the documentation
112 directory) if you are not sure about a symbol's name.
113 KeySym:
114 number as returned by XStringToKeysym(3x).
115 KeyCode:
116 number as returned by XKeysymToKeycode(3x).
117 Windowname:
118 can be the first characters of the window name displayed by the
119 window manager or the name that is displayed below the icon. Some
120 programs use the name displayed by the window manager to show a
121 lot of status information but don't change the icon name (like
122 xawtv). Others append information to the window name ("GQmpeg -
123 kill_windooz.mp3"). If neither window name nor icon name match the
124 given Windowname information from XClassHint(3x) will be checked.
125 CurrentWindow:
126 refers to the active window as returned by XGetInputFocus(3x).
127 Most times this is the window with your mouse pointer in it.
128 RootWindow:
129 refers to the root window as returned by RootWindow(3x). You may
130 need this to send events to the window manager.
131 WindowID id:
132 refers to the window with window identifier id. id should be a
133 decimal number. It is useful when irxevent can't find the desired
134 window by other means.
135 Focus:
136 will send the specified event to the given window only if it cur‐
137 rently has the input focus. This of course does not make much
138 sense when combined with CurrentWindow.
139
141 If you have problems finding the coordinates for a button click you can
142 try xev -id <window_id>. The window_id can be found using xwininfo.
143
144 There are programs that do not accept any synthetic X-events by default
145 because they can cause security problems. Currently xterm and xemacs
146 are known to ignore events simulated by irxevent.
147
148 You can however make xterm accept external events by enabling "Allow
149 SendEvents" in the "Main Options" (hold down the Ctrl button and press
150 the left mouse button inside the xterm window). You can as well place
151 this line into your .Xresources file to change this permanently:
152
153 XTerm.vt100.allowSendEvents: true
154
155 Yet another possibility is to start xterm like this:
156
157 xterm -xrm "XTerm.vt100.allowSendEvents: true"
158
159 xemacs will accept events if you set a built-in variable. The following
160 was taken from the online help:
161
162 `x-allow-sendevents' is a built-in boolean variable.
163
164 Value: t
165
166 Documentation:
167
168 *Non-nil means to allow synthetic events. Nil means they are
169 ignored.
170
171 Beware: allowing emacs to process SendEvents opens a big security
172 hole.
173
174 In order to allow events you have to evaluate this lisp code (press
175 Meta-x and enter the following expression):
176
177 (setq x-allow-sendevents t)
178
179 Placing this line into your .xemacs-options file should have the
180 same result.
181
182 If you have problems sending events please drop me an email.
183
185 Written by Heinrich Langos <heinrich@mad.scientist.com>.
186
188 xdotool(1)
189 invoked from irexec(1), xdotool provides a more flexible alter‐
190 native to irxevent.
191
192 The documentation for lirc is maintained as html pages. They are
193 located under html/ in the documentation directory.
194
195
196
197irxevent 0.10.0 Last change: Aug 2015 IRXEVENT(1)