| 1 |
NAME |
| 2 |
RCU - Remote Control Unit Interface |
| 3 |
|
| 4 |
SYNOPSIS |
| 5 |
use RCU; |
| 6 |
|
| 7 |
DESCRIPTION |
| 8 |
This module provides a generic interface to remote control units (only |
| 9 |
receivers at the moment, as I cannot test more). It only provides an |
| 10 |
abstract management interface, other modules are required for the |
| 11 |
hardware access (RCU::Irman and RCU::Lirc are included, however). |
| 12 |
|
| 13 |
GETTING STARTED |
| 14 |
Please read RCU::Receipts to get some idea on how to proceed after you |
| 15 |
installed the module (testing & standard techniques). |
| 16 |
|
| 17 |
THE RCU CLASS |
| 18 |
The RCU class provides a general interface to anything you might want to |
| 19 |
do to, it represents your application. |
| 20 |
|
| 21 |
$rcu = new RCU "interface-spec" |
| 22 |
Creates a new RCU application. "interface" must be an interface |
| 23 |
specification similar to DBI's DSN: |
| 24 |
|
| 25 |
RCU:ifname:arg:arg... |
| 26 |
|
| 27 |
Examples: low-level interface (without "RCU::" prefix) or an |
| 28 |
arrayref containing name and constructor arguments. If the interface |
| 29 |
name has a "::" prefix it will be used as-is (without that prefix, |
| 30 |
of course). |
| 31 |
|
| 32 |
For a much better interface, see RCU::Event. |
| 33 |
|
| 34 |
$rcu->interface |
| 35 |
Return the RCU::Interface object used by this RCU object. |
| 36 |
|
| 37 |
($keycode, $repeat) = $rcu->get |
| 38 |
($keycode, $repeat) = $rcu->poll |
| 39 |
Simplified interface to the RCU (See also RCU::Event), return a |
| 40 |
cooked keycode and a repeat count (initial keypress = 0, increasing |
| 41 |
while the key is pressed). If "get" is called in scalar context it |
| 42 |
only returns unrepeated keycodes. |
| 43 |
|
| 44 |
This interface is problematic: no key-up events are generated, and |
| 45 |
the repeat events occur pseudo-randomly and have no time relation |
| 46 |
between each other, so better use the event-based interface provided |
| 47 |
by RCU::Event. |
| 48 |
|
| 49 |
THE RCU::Key CLASS |
| 50 |
This class collects information about rcu keys. |
| 51 |
|
| 52 |
THE RCU::Interface CLASS |
| 53 |
"RCU::Interface" provides the base class for all rcu interfaces, it is |
| 54 |
rarely used directly. |
| 55 |
|
| 56 |
fd Return a unix filehandle that can be polled, or -1 if this is not |
| 57 |
possible. |
| 58 |
|
| 59 |
($time, $raw, $cooked) = $if->get |
| 60 |
($time, $raw, $cooked) = $if->poll |
| 61 |
Wait until a RCU event happens and return it. If the device can |
| 62 |
translate raw keys events (e.g. hex key codes) into meaningful names |
| 63 |
("cooked" keys) it will return the cooked name as second value, |
| 64 |
otherwise both return values are identical. |
| 65 |
|
| 66 |
"get" always returns an event, waiting if neccessary, while "poll" |
| 67 |
only checks for an event: If one is pending it is returned, |
| 68 |
otherwise "poll" returns nothing. |
| 69 |
|
| 70 |
SEE ALSO |
| 71 |
RCU::Irman, RCU::Lirc. |
| 72 |
|
| 73 |
AUTHOR |
| 74 |
This perl extension was written by Marc Lehmann <schmorp@schmorp.de>. |
| 75 |
|
| 76 |
BUGS |
| 77 |
No send interface. |
| 78 |
|