Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
IRXEVENT(1)			 User Commands			   IRXEVENT(1)

NAME
       irxevent	- infrared X-event sender

SYNOPSIS
       irxevent	[option]... [config file]

DESCRIPTION
       Irxevent	 is  a	program	 that  I  wrote	 to send button	clicks and key
       presses to X applications triggered by a	LIRC  driven  remote  control.
       You can control your favorite CD/MP3 player or your TV tuner program or
       any  other  X  application that responds	to keyboard or mouse input. If
       you like	to you can send	emacs ^X^S from	your armchair.

       Irxevent	is a complement	to irexec and irpty.

       -d --daemon
	      fork and run in background

       -h --help
	      display usage summary

       -V --version
	      display version

FILES
       Irxevent	works with the same config file	as irexec and  irpty  (~/.lir-
       crc). For a complete sample .lircrc look	at examples/lircrc.

       Part of your .lircrc could look like this:

	  begin
		  prog = irxevent
		  button = VIDEO_UP
		  config = Key SHIFT-KP_Add CurrentWindow
	  end
	  begin
		  prog = irxevent
		  button = VIDEO_DOWN
		  config = Key SHIFT-KP_Subtract CurrentWindow
	  end
	  begin
		  prog = irxevent
		  button = STOP
		  config = Key ctrl-c CurrentWindow
	  end
	  begin
		  prog = irxevent
		  button = 0
		  config = Key f xawtv
		  config = Key f xawtv
	  end
	  begin
		  prog = irxevent
		  button = POWER
		  config = Key q xawtv
	  end
	  begin
		  prog = irxevent
		  button = CH_DOWN
		  config = Button 1 329	92 kscd
	  end
	  begin
		  prog = irxevent
		  button = UP
		  config = Button 1 110	80 GQmpeg
	  end
	  begin
		  prog = irxevent
		  button = DOWN
		  config = Button 1 130	80 GQmpeg
	  end

       Simply said config = lines may look like	this:

	  config = Key [shift-][ctrl-][alt-]<key> [Focus] <windowname>
	       | WindowID <id> | CurrentWindow | RootWindow
	  config = Button <button> <x> <y> [Focus] <windowname>	| WindowID <id>
	       | CurrentWindow | RootWindow
	  config = xy_Key <x> <y> [shift-][ctrl-][alt-]<key> [Focus]
	       <windowname> | WindowID id | CurrentWindow | RootWindow

       some more examples:

	  config = Key Up xawtv
	  config = Key Down xawtv
	  config = Button 1 50 110 xclickme
	  config = Key q xawtv
	  config = Key ctrl-c mpg123
	  config = Key shift-Page_Up rxvt

       In BNF this looks like:

	  LINE	  = "config =" <KEY|BUTTON|XYKEY> <TARGET> |
		    "config =" <KEY|BUTTON|XYKEY> "Focus" <TARGET>
	  XYKEY	  = "xy_Key" <x_position> <y_position> <MOD><KEYSPEC>
	  KEY	  = "Key" <MOD><KEYSPEC>
	  MOD	  = ["shift-"]["numlock-"]["ctrl-"]["alt-"]["meta-"]
		    ["numlock-"]["mod3-"]["mod4-"]["mod5-"]["altgr-"]["scrlock-"]
	  KEYSPEC = Keyname | "KeySym:"KeySym |	"KeyCode:"KeyCode
	  BUTTON  = "Button" <1..5> <x_position> <y_position>
	  TARGET  = Windowname | "WindowID" id | "CurrentWindow" | "RootWindow"

	  Keyname:
	    is	the key	symbol that is declared	in X windows. E.g. "Up"	refers
	    to the cursor arrow	pointing up. "KP_Add" is the plus sign on  the
	    key	 pad.  Just take a look	at irxevent.keys (in the documentation
	    directory) if you are not sure about a symbol's name.
	  KeySym:
	    number as returned by XStringToKeysym(3x).
	  KeyCode:
	    number as returned by XKeysymToKeycode(3x).
	  Windowname:
	    can	be the first characters	of the window name  displayed  by  the
	    window  manager or the name	that is	displayed below	the icon. Some
	    programs use the name displayed by the window manager  to  show  a
	    lot	 of  status  information  but don't change the icon name (like
	    xawtv). Others append information to the window  name  ("GQmpeg  -
	    kill_windooz.mp3").	If neither window name nor icon	name match the
	    given Windowname information from XClassHint(3x) will be checked.
	  CurrentWindow:
	    refers  to	the  active  window as returned	by XGetInputFocus(3x).
	    Most times this is the window with your mouse pointer in it.
	  RootWindow:
	    refers to the root window as returned by RootWindow(3x).  You  may
	    need this to send events to	the window manager.
	  WindowID id:
	    refers  to	the  window  with window identifier id.	id should be a
	    decimal number. It is useful when irxevent can't find the  desired
	    window by other means.
	  Focus:
	    will  send the specified event to the given	window only if it cur-
	    rently has the input focus.	This of	 course	 does  not  make  much
	    sense when combined	with CurrentWindow.

TROUBLESHOOTING
       If you have problems finding the	coordinates for	a button click you can
       try  xev	-id <window_id>. The window_id can be found using xwininfo. If
       xev and xwininfo	are not	part of	your distribution you can find them at
       a FTP server using the search engine  at:  http://ftpsearch.ntnu.no/  .
       xev  also  reports the names of key symbols like	"Control_L" (your left
       control key) or "KP_Subtract" (the 'minus' key on your keypad).

       There are programs that do not accept any synthetic X-events by default
       because they can	cause security problems. Currently  xterm  and	xemacs
       are known to ignore events simulated by irxevent.

       You  can	 however  make xterm accept external events by enabling	"Allow
       SendEvents" in the "Main	Options" (hold down the	Ctrl button and	 press
       the  left  mouse	button inside the xterm	window). You can as well place
       this line into your .Xresources file to change this permanently:

	  XTerm.vt100.allowSendEvents: true

       Yet another possibility is to start xterm like this:

	  xterm	-xrm "XTerm.vt100.allowSendEvents: true"

       xemacs will accept events if you	set a built-in variable. The following
       was taken from the online help:

	  `x-allow-sendevents' is a built-in boolean variable.

	  Value: t

	  Documentation:

	  *Non-nil means to allow synthetic events.  Nil means	they  are  ig-
	  nored.

	  Beware:  allowing  emacs  to process SendEvents opens	a big security
	  hole.

	  In order to allow events you have to evaluate	this lisp code	(press
	  Meta-x and enter the following expression):

		(setq x-allow-sendevents t)

	  Placing  this	 line  into  your .xemacs-options file should have the
	  same result.

       If you have problems sending events please drop me an email.

AUTHOR
       Written by Heinrich Langos <heinrich@mad.scientist.com>.

SEE ALSO
       The documentation for lirc is maintained	as html	pages.	They  are  lo-
       cated under html/ in the	documentation directory.

irxevent 0.9.0			  March	2011			   IRXEVENT(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=irxevent&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help