Logitech R400 Clicker and Live Meeting
Tuesday, January 22, 2013
by asalvo
The Logitech R400 is a wireless device used by presenters with Microsoft Power Point to call out objects on the screen using it’s built in laser pointer. It contains buttons for ‘Next’, ‘Previous’, ‘Start/Stop Presentation’ and ‘Hide Slide’.
The R400 was designed for Power Point and works well with it, but what about other programs such as Microsoft Office Live Meeting 2007?
Unfortunately whoever designed Live Meeting in their infinite wisdom decided not to use the same key combinations as Power Point, or make it user configurable. Hopefully this short coming was fixed in Lync 2013, the replacement for Live Meeting 2007, but I have not been able to test this out. Let me be clear that this affects the presentation only when you upload your Power Point deck to Live Meeting. If you simply share your desktop with Power Point running you will be fine.
AutoHotKey
So what we need to do is remap the keyboard commands the R400 is sending to the computer to the commands that work with windows live meeting. One such program that will allow you to do this is AutoHotKey. To use AutoHotKey, you download and run the installer. Unlike most programs, you do not execute AutoHotKey directly once installed. Instead you execute scripts via the windows explorer context menu, or again using the windows explorer context menu, compile your scripts into an executable which launches AutoHotKey.
In the image below you can see the windows explorer context window which contains the Run, Compile and Edit Script options when right clicking on a AutoHotKey script file (.ahk). To create a script, simple create a new text document with a AHK file extension.
The Script
AutoHotKey includes a powerful scripting language. I recommend that you read thru the tutorial, and review the remapping and key list pages in order to fully understand the script I’ve created and shown below.
Before we write our script, we need to gather some information. First, we need to figure out what keyboard commands are being sent when the R400 buttons are pushed. A simple way to do this is to open a multiple page document in word or note pad. Place the cursor on the document and then press the buttons on the R400 and observe the behavior. The ‘Start/Stop’ and ‘Hide’ buttons were easy to figure out, but since I didn’t have a multi-page document, I couldn’t observe the behavior of the ‘Next’ and ‘Previous’ buttons.
I tried Left, Right, Up, and Down (AutoHotKey keys for the directional arrows), as well as LButton and Space in my script before I gave up and resorted to searching on bing for a couple of minutes. Turns out the R400 is sending PgUp and PgDn for ‘Next’ and ‘Previous’.
- ‘Next’ – PgUp
- ‘Previous’ – PgDn
- ‘Start/Stop’ – F5
- ‘Hide’ – . (period)
The final piece of information is the name of the window. AutoHotKey includes a Window Spy program which displays all sorts of information about the active window. For Windows Live Meeting, you can use the Text ‘Windows Live Meeting’ or the ahk_class PWFrameWrapperConsoleWindow.
Copy the following contents into a .Ahk script file, and then right click on it choosing either run or Compile.
;If live meeting is the active window, remap the keys the clicker
;sends to live meeting commands.
#ifWinActive ahk_class PWFrameWrapperConsoleWindow
{
PgDn::^Down ;Next
PgUp::^Up ;Previous
;Minimize Live Meeting Window. You could also use #m to minimize all windows.
.::WinMinimize Microsoft Office Live Meeting
}
;If live meeting is not the active window, then when F5 is pressed
;make it the active window. Note: You have to press the Resume button
;twice for this to work, but pressing F5 works on the first try
#ifWinNotActive ahk_class PWFrameWrapperConsoleWindow
{
F5::WinActivate ahk_class PWFrameWrapperConsoleWindow
}