Difference between revisions of "Adesso ARC-1100"
m (link) |
(add image from sister page) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[File:Vrc1100.jpg|right|300px]] | ||
+ | |||
== Introduction == | == Introduction == | ||
The '''Adesso ARC-1100''' has two parts: an IR receiver with USB cable and a remote control that is like many other Media Center remotes. What distinguishes this product from other remote control solutions is it looks like a USB keyboard and mouse to the computer. As a result: | The '''Adesso ARC-1100''' has two parts: an IR receiver with USB cable and a remote control that is like many other Media Center remotes. What distinguishes this product from other remote control solutions is it looks like a USB keyboard and mouse to the computer. As a result: | ||
Line 14: | Line 16: | ||
If the pros outweigh the cons, as they do for me, keep reading. | If the pros outweigh the cons, as they do for me, keep reading. | ||
+ | |||
+ | Note: for an alternate setup using lirc, see [[VRC-1100 Ortek Technology MCE Clone Remote]] | ||
== My Setup == | == My Setup == | ||
Line 655: | Line 659: | ||
;Extending the X keyboard map with xkb | ;Extending the X keyboard map with xkb | ||
: http://madduck.net/docs/extending-xkb/ | : http://madduck.net/docs/extending-xkb/ | ||
+ | |||
+ | == Alternate Configuration == | ||
+ | |||
+ | If you're running Ubuntu 19 or older, you may find this configuration handy. It uses ir-keytable with the --device option, however, and that option has been dropped with Ubuntu 20+. For an alternate HID configuration that works with Ubuntu 20+, see the use of an hwdb file in [[VRC-1100 Ortek Technology MCE Clone Remote]]. | ||
+ | |||
+ | This remote behaves as an HID therefore it can work without the MCE kernel module. The [[HID Remotes]] page may be helpful. For my configuration, I chose to remap the Clear button (maps to Escape) and Back button (maps to Backspace), and also remap the Info and Mouse Right Click buttons to "M" (for Myth's menu). I used a udev rule to remap the keys using ir-keytable, and also add symlinks for the keyboard and mouse inputs. | ||
+ | |||
+ | /etc/udev/rules.d/10-irremote.rules | ||
+ | <pre> | ||
+ | KERNEL=="event*",SUBSYSTEM=="input",ATTRS{idVendor}=="05a4",ATTRS{idProduct}=="9881",IMPORT{program}="input_id %p" | ||
+ | KERNEL=="event*",SUBSYSTEM=="input",ATTRS{idVendor}=="05a4",ATTRS{idProduct}=="9881",ENV{ID_INPUT_KEYBOARD}=="1",ACTION=="add",SYMLINK="input/irremote0", \ | ||
+ | RUN+="/usr/bin/ir-keytable --set-key=0x70029=KEY_BACKSPACE,0x7002a=KEY_ESC --device /dev/input/irremote0" | ||
+ | KERNEL=="event*",SUBSYSTEM=="input",ATTRS{idVendor}=="05a4",ATTRS{idProduct}=="9881",ENV{ID_INPUT_MOUSE}=="1",ACTION=="add",SYMLINK="input/irremote1", \ | ||
+ | RUN+="/usr/bin/ir-keytable --set-key=0x90002=KEY_M --device /dev/input/irremote1" | ||
+ | </pre> | ||
+ | Note: The backslash to split the long line is mostly for readability. For best compatibility with all versions of udev the rule should be on one line. | ||
[[Category:Remote Controls]] | [[Category:Remote Controls]] | ||
[[Category:Xmodmap Configuration Files]] | [[Category:Xmodmap Configuration Files]] |
Latest revision as of 05:35, 18 August 2023
Contents
Introduction
The Adesso ARC-1100 has two parts: an IR receiver with USB cable and a remote control that is like many other Media Center remotes. What distinguishes this product from other remote control solutions is it looks like a USB keyboard and mouse to the computer. As a result:
- It can interact with a boot menu.
- It is more responsive than LIRC based remote control solutions. Multiple key presses don’t get lost like they tend to with LIRC solutions, so you can more quickly navigate through lists using cursor and paging (Ch+/-) keys and increase fast forward and rewind speeds, for example.
- If some dialog pops up when you least expect it, like Update Manager or a warning about pressing the eject button on your DVD burner, you can dismiss the dialog using the remote's keys, or you can raise Mythfrontend's window by clicking on it using the remote’s mouse functionality.
- It is affordable. I got it on sale from newegg in October, 2009, along with a 10% off coupon, for less than $25 USD (that includes shipping).
- It can be used to train a learning remote. I use the Sony RM-VL710 Universal Remote and RM-VL600, which replaced the 710. According to Sony’s web site, the 600 was retailing for $24.99 USD in November, 2009.
There are some drawbacks:
- Configuring this remote is a little more complicated than configuring an LIRC based remote. That’s because you need to use two different mechanisms (xmodmap and editing MythTV key bindings) to get full use of the remote, as opposed to editing a single LIRC configuration file.
- Some keys are duplicates of others, like Play and Pause.
- Some keys are effectively duplicates because they generate Ctrl+Shift seqences and because MythTV ignores the Shift state.
- You will lose your xmodmap configured keys if you plugin/unplug the IR receiver or a USB keyboard and will need to execute the xmodmap command to restore those keys.
If the pros outweigh the cons, as they do for me, keep reading.
Note: for an alternate setup using lirc, see VRC-1100 Ortek Technology MCE Clone Remote
My Setup
I have a MythTV backend/frontend system running Mythbuntu 9.04 (Jaunty) and a MythTV frontend running Mythbuntu 8.04 (Hardy). Both are running MythTV 0.21-fixes. The frontend only system is a 5 year old Thinkpad R51 with an ATI Mobility Radeon 9000 IGP. Jaunty doesn’t work with this IGP, but Hardy does. What surprised me was that the remote’s behavior is somewhat different on these two systems. I suspect it has to do with the version of X (xserver-xorg) provided by each distro. Hardy provides 7.3 whereas Jaunty provides 7.4. But the differences may also be due to the fact that one system is running on a Thinkpad and some of the Thinkpad-specific packages that were automatically installed. So you may want to double check how the remote behaves on your system using the X application, xev.
Since this page was first written, I have upgraded to MythTV 0.22 and 0.23. The instructions for Jaunty and 0.21 work for Karmic with MythTV 0.22 and Lucid with MythTV 0.23.
The Remote
The following table provides details for each key on the remote. The column headings are:
- Key Function
- The key’s function according to Adesso documentation.
- Sony RM-VL600
- How I have mapped the Adesso remote to my Sony remote.
- Key sequence, keycode (KC), keysym
- The key sequence and/or keycode and/or keysym generated when the remote’s key is pressed. This information was extracted using the X application, xev. Some keys behave as you might expect with MythTV, like the cursor keys, the OK key and the Ch+/Ch- keys. These keys can be used without any configuration, and can also be used to control your computer’s boot menu. Some keys generate key sequences, usueally Control + an alphabetic key. These can be supported by editing MythTV’s key bindings. Other keys generate some atypical keycodes. On Jaunty, these keys are mapped to keysyms defined for multimedia keyboards, like Volume Up/Down and Previous/Next track. On Hardy, they are not. Fortunately, on both Hardy and Jaunty, the multimedia keys can be mapped to keysyms that can be used in MythTV.
- Xmodmap
- Shows which keys are configured using the X utility, xmodmap. Example files for hardy and jaunty are provided later.
- MythTV Context, Action, Key binding
- Shows MythTV key bindings. The three headings correspond to the headings provided in Mythweb’s Keybindings Editor. Only the key bindings shown in bold, or the context/action pairs shown in bold in the Notes column need to be changed if you are using MythTV’s default key bindings.
- Notes
- Should be self explanatory.
MythTV | |||||||
---|---|---|---|---|---|---|---|
Key Function | Sony RM-VL600 | Key sequence, keycode (KC), keysym | Xmodmap | Context | Action | Key binding | Notes |
WWW | Hardy: KC 178
Jaunty: KC 180, XF86HomePage |
Hardy: XF86HomePage
Jaunty: No change |
|||||
Sleep | Hardy: KC 223
Jaunty: KC 150. XF86Sleep |
Hardy: XF86Sleep
Jaunty: No change |
|||||
My TV
(yellow) |
Ctrl-Shift+T | Effectively the same as Live TV since MythTV (QT?) ignores Shift state | |||||
My Music
(blue) |
Menu | Ctrl+M | Global | MENU | M,Ctrl+M | ||
My Pictures
(green) |
Info | Ctrl+I | Global
TV Editing |
INFO
INVERTMAP |
I,Ctrl+I | ||
My Videos
(red) |
Sleep | Ctrl+E | qt
TV Frontend TV Playback Video |
DELETE
DELETE
|
D,Ctrl+E | ||
Record TV | Recall | Ctrl+O | TV Frontend
TV Playback |
DETAILS
SPEEDINC |
U,Ctrl+O | ||
Guide | Guide | Ctrl+G | TV Frontend
TV Playback |
GUIDE
GUIDE |
S,Ctrl+G | Must clear TV Playback, TOGGLECHANCONTROLS | |
Live TV | Tools | Ctrl+T | TV Playback | TOGGLEFILL | W,Ctrl+T | ||
DVD Menu | Ctrl+Shift+M | Effectively same as My Music since MythTV (QT?) ignores Shift state | |||||
Play | Play | Hardy: KC 162
Jaunty: KC 172, XF86AudioPlay |
P | TV Playback | PAUSE | P | |
Pause | Same as Play | ||||||
Reverse | Ctrl+Shift+B | TV Editing
TV Frontend TV Playback |
BIGJUMPREW
PAGELEFT RWNDSTICKY |
,,<,Ctrl+B | Must clear TV Playback, JUMPSTART | ||
Forward | Forward | Ctrl+Shift+F | TV Editing
TV Playback TV Frontend |
BIGJUMPFWD
FFWDSTICKY PAGERIGHT |
>,.,Ctrl+F | ||
Prev track | Twin View | Hardy: KC 144
Jaunty: KC 173, XF86AudioPrev |
Q | TV Editing
TV Playback |
CLEARMAP
SKIPCOMMBACK |
C,Q,Home
Q,Home |
|
Next track | Digital/
Analog |
Hardy: KC 153
Jaunty: KC 171, XF86AudioNext |
Z | TV Editing
TV Playback |
LOADCOMMSKIP
SKIPCOMMERCIAL |
Z,End | |
Stop | Exit | Hardy: KC 164
Jaunty: KC 174, XF86AudioStop |
T | TV Playback | TOGGLECC | T | Since Clear key generates Escape, I use Stop to toggle closed captions, an important function for me. |
Record | Record | Ctrl+R | TV Frontend
TV Playback |
TOGGLERECORD
TOGGLERECORD |
R,Ctrl+R | ||
Back | Backspace | TV Playback | CLEAROSD | Backspace | |||
Information | Same as Mouse Right | ||||||
OK | OK | Return | Global | SELECT | Return,Enter, Space | ||
Up | Up | Up | TV Playback
Teletext Menu Global |
CHANNELUP
PREVPAGE
|
Up | ||
Down | Down | Down | TV Playback
Global Teletext Menu |
CHANNELDOWN
DOWN
|
Down | ||
Left | Left | Left | Global
Teletext Menu TV Frontend TV Playback |
LEFT
PREVSUBPAGE RANKDEC SEEKRWND |
Left | ||
Right | Right | Right | Teletext Menu
TV Frontend Global TV Playback |
NEXTSUBPAGE
RANKINC
|
Right | ||
Mouse Left | |||||||
Mouse Right | |||||||
Mouse Pad | |||||||
Vol+ | Hardy: KC 164
Jaunty: KC 123, XF86AudioRaiseVolume |
Hardy: XF86AudioRaiseVolume
Jaunty: No change |
TV Frontend
TV Playback |
VOLUMEDOWN
VOLUMEDOWN |
],},F11,Volume Up | X keysym, XF86AudioRaiseVolume, equals MythTV key, Volume Up | |
Vol- | Hardy: KC 164
Jaunty: KC 122, XF86AudioLowerVolume |
Hardy: XF86AudioLowerVolume
Jaunty: No change |
TV Frontend
TV Playback |
VOLUMEUP
VOLUMEUP |
[,{,F10,Volume Down | X keysym, XF86AudioLowerVolume, equals MythTV key, Volume Down | |
Mute | Hardy: KC 160
Jaunty: KC 121, XF86AudioMute |
Hardy: XF86AudioMute
Jaunty: No change |
TV Frontend
TV Playback |
MUTE
MUTE |
|,\\,F9,Volume Mute | X keysym, XF86AudioMute, equals MythTV key, Volume Mute | |
Windows Start Key | Pause | Super+Alt+Return | TV Playback | PLAY | Ctrl+P, Alt+Return | X treats the Windows Start key as a type of shift key called Super. MythTV (QT?) ignores its state. | |
Ch+ | Ch+ | Next | TV Playback
Global TV Editing |
JUMPRWND
PAGEUP PREVCUT |
PgUp | X keysym, Next, equals MythTV key, PgUp | |
Ch- | Ch- | Prior | TV Playback
TV Editing Global |
JUMPFFWD
NEXTCUT PAGEDOWN |
PgDown | X keysym, Prior, equals MythTV key, PgDown | |
0 | 0 | 0 | Global | 0 | 0 | ||
1 | 1 | 1 | Global | 1 | 1 | ||
2 | 2 | 2 | Global | 2 | 2 | ||
3 | 3 | 3 | Global | 3 | 3 | ||
4 | 4 | 4 | Global | 4 | 4 | ||
5 | 5 | 5 | Global | 5 | 5 | ||
6 | 6 | 6 | Global | 6 | 6 | ||
7 | 7 | 7 | Global | 7 | 7 | ||
8 | 8 | 8 | Global | 8 | 8 | ||
9 | 9 | 9 | Global | 9 | 9 | ||
Asterisk | Dot | * | TV Playback | ARBSEEK | * | ||
Number Sign | Ent | Hardy: Alt+3 Alt+5
Jaunty: # |
TV Frontend
TV Playback |
FINDER
FINDER |
#
# |
||
Close Key | XF86Close? | Closes active window. Myth will prompt:
Do you really want to exit MythTV? | |||||
Clear Key | Stop | Escape | Global | ESCAPE | Esc | ||
Enter Key | Return | Same as OK |
Xmodmap Configuration
To configure keys with xmodmap, you need a configuration file. I have provided two examples that work on my Hardy and Jaunty systems. Hopefully, one of them will work for you without change. At least they should serve as a starting point to get the multimedia keys working on your system.
Copy the following text to $HOME/xmodmap.hardy
keycode 160 = XF86AudioMute NoSymbol XF86AudioMute NoSymbol XF86AudioMute keycode 174 = XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume keycode 176 = XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume !keycode 153 = XF86AudioNext NoSymbol XF86AudioNext NoSymbol XF86AudioNext keycode 153 = Z !keycode 162 = XF86AudioPlay XF86AudioPause XF86AudioPlay XF86AudioPause XF86AudioPlay XF86AudioPause keycode 162 = P !keycode 144 = XF86AudioPrev NoSymbol XF86AudioPrev NoSymbol XF86AudioPrev keycode 144 = Q !keycode 164 = XF86AudioStop XF86Eject XF86AudioStop XF86Eject XF86AudioStop XF86Eject keycode 164 = T ! Internet Explorer key keycode 178 = XF86HomePage NoSymbol XF86HomePage NoSymbol XF86HomePage ! Power/Standby key keycode 223 = XF86Sleep NoSymbol XF86Sleep NoSymbol XF86Sleep
On Hardy, use the command:
xmodmap $HOME/xmodmap.hardy
Copy the following text to $HOME/xmodmap.jaunty
!keycode 121 = XF86AudioMute NoSymbol XF86AudioMute NoSymbol XF86AudioMute !keycode 122 = XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume !keycode 123 = XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume !keycode 171 = XF86AudioNext NoSymbol XF86AudioNext NoSymbol XF86AudioNext keycode 171 = Z !keycode 172 = XF86AudioPlay XF86AudioPause XF86AudioPlay XF86AudioPause XF86AudioPlay XF86AudioPause keycode 172 = P !keycode 173 = XF86AudioPrev NoSymbol XF86AudioPrev NoSymbol XF86AudioPrev keycode 173 = Q !keycode 174 = XF86AudioStop XF86Eject XF86AudioStop XF86Eject XF86AudioStop XF86Eject keycode 174 = T ! Internet Explorer key !keycode 180 = XF86HomePage NoSymbol XF86HomePage NoSymbol XF86HomePage ! Power/Standby key !keycode 150 = XF86Sleep NoSymbol XF86Sleep NoSymbol XF86Sleep
On Jaunty, use the command:
xmodmap $HOME/xmodmap.jaunty
Once you’ve got a working configuration, you can automatically execute the appropriate command whenever the X server starts by adding it to the file, $HOME/.xprofile. This method works nicely with Mythbuntu distros and the Xfce desktop environment. You may need to use a different mechanism for other distros and/or desktop environments.
Closing Thoughts
Sometimes, the X server forgets the xmodmap configuration. I’m sure this happens when you plug in and/or unplug the Adesso IR receiver. It may happen when you plug/unplug any USB keyboard/mouse or any device for which the X server supports hotplugging. If you find the multimedia keys aren’t working, chances are executing the appropriate xmodmap command will restore functionality.
It may be possible that configuration of multimedia keys would persist, regardless of hotplugging input devices, if I had used an approach based on xkb configuration files. Since xmodmap works well enough for me. I welcome someone else to explore a solution based on xkb.
References
- Adesso ARC-1100 product page
- http://www.adesso.com/products_detail.asp?productid=366
- Review of the Sony RM-VL600
- http://www.remotecentral.com/vl600/index.html
- Xev man page
- http://www.xfree86.org/current/xev.1.html
- Xmodmap man page
- http://www.xfree86.org/current/xmodmap.1.html
- How to further enhance XKB configuration
- http://www.xfree86.org/current/XKB-Enhancing.html
- Extending the X keyboard map with xkb
- http://madduck.net/docs/extending-xkb/
Alternate Configuration
If you're running Ubuntu 19 or older, you may find this configuration handy. It uses ir-keytable with the --device option, however, and that option has been dropped with Ubuntu 20+. For an alternate HID configuration that works with Ubuntu 20+, see the use of an hwdb file in VRC-1100 Ortek Technology MCE Clone Remote.
This remote behaves as an HID therefore it can work without the MCE kernel module. The HID Remotes page may be helpful. For my configuration, I chose to remap the Clear button (maps to Escape) and Back button (maps to Backspace), and also remap the Info and Mouse Right Click buttons to "M" (for Myth's menu). I used a udev rule to remap the keys using ir-keytable, and also add symlinks for the keyboard and mouse inputs.
/etc/udev/rules.d/10-irremote.rules
KERNEL=="event*",SUBSYSTEM=="input",ATTRS{idVendor}=="05a4",ATTRS{idProduct}=="9881",IMPORT{program}="input_id %p" KERNEL=="event*",SUBSYSTEM=="input",ATTRS{idVendor}=="05a4",ATTRS{idProduct}=="9881",ENV{ID_INPUT_KEYBOARD}=="1",ACTION=="add",SYMLINK="input/irremote0", \ RUN+="/usr/bin/ir-keytable --set-key=0x70029=KEY_BACKSPACE,0x7002a=KEY_ESC --device /dev/input/irremote0" KERNEL=="event*",SUBSYSTEM=="input",ATTRS{idVendor}=="05a4",ATTRS{idProduct}=="9881",ENV{ID_INPUT_MOUSE}=="1",ACTION=="add",SYMLINK="input/irremote1", \ RUN+="/usr/bin/ir-keytable --set-key=0x90002=KEY_M --device /dev/input/irremote1"
Note: The backslash to split the long line is mostly for readability. For best compatibility with all versions of udev the rule should be on one line.