The Logitech G930 headset is one of the better-reviewed non-bluetooth wireless headsets available. It’s far from perfect, but has served me relatively well as my daily headset since beginning remote work in September.
Unfortunately, Logitech has of yet provided no software or support for OS X. The headset is detected just fine, including the media and volume keys, but options like 7.1 surround configuration and button re-mapping are not available in an official Mac software package.
I’ve now solved the most annoying omission: answering and ending Skype calls with a headset button.
My set-up has four ingredients:
- An Applescript from Brett Terpstra to answer Skype with a hotkey (free)
- FastScripts (free version works, $14.95 for full)
- USB Overdrive (nagware, $20 to buy)
- Growl (you probably already have this, $4.99 in app store)
Start by copying the script to a file on your computer:
- Open Brett’s script in AppleScript. This link will directly launch it in AppleScript for you. Or copy it from his site and paste into a new AppleScript Editor window.
- Press Compile. You’ll see AppleScript process the code.
- Make sure Skype is open, then press Run. Skype freaks out with several warning dialogs about another program (AppleScript) trying to use Skype. Set all of them to the top option (allow) and confirm.
- Make a test call and press Run again. You should hear that delightful little ‘boop’ and see a confirmation via Growl that the call was ended.
- Save the script to your scripts folder (HD/Library/scripts). Create a new folder for your personal scripts if you don’t yet have one. Name the script something stupidly obvious. I called mine ‘AnswerSkype’.
Now that the script is on your system, you can assign it a keyboard shortcut via FastScripts.
- Open your FastScripts preferences.
- Navigate to the folder containing your new script.
- Double-click the blank space in the right-hand column to assign a shortcut command. I chose ⌃ ⌥ ⌘ + A. I’m unlikely to press that combo on accident, but can still mash it with one hand if I don’t have my headset connected.
With the keyboard shortcut assigned, you can more easily test how the script operates. Call yourself from another phone or ask a friend to dial you up. When a call is coming in, pressing your shortcut will instantly answer the call and say as much with a Growl notification. No call? It tells you that, too. And finally, the script will end any active call and confirm via Growl. Awesome, right? That Terpstra, boy. Terp-stra. Terrrrrpstra.
Now for the pièce de résistance: assigning the Skype script to a hardware button on your Logitech G930. I found a solution in an app called USB Overdrive. It detects your connected USB devices and allows you to remap the inputs to mouse clicks, keyboard entry, and more. There’s an option to directly execute AppleScript, but I was unable to get it to work on my work machine (which is still on Snow Leopard). You get more flexibility with the script assigned to a shortcut key, anyway.
Assigning the G930 button:
- My G930 keys were listed under “Any Other, Any Application” in the settings tab of USB Overdrive.
- Select the button you want to remap (I used Scan Next Track) and pick Press Key as the action type.
- Assign the key press to the shortcut you mapped previously with FastScripts.
You may have to fuss with USB Overdrive a bit. Pressing a key on your device with the settings panel open adds another entry for it in the list. Measure twice, cut once, confirm all settings visually, and you’ll be fine. While you’re in there, feel free to also swap Previous Track to Next Track, as I did–it’s always felt backwards to me.
Close it down, fire up Skype, and give your new button a try!
Take it further by juicing up your script with other actions you commonly perform when answering or ending a call. Currently, mine pauses Rdio and sets Adium to away when answering a call. When ending a call, it closes the Skype window, sets Adium back to available, and resumes playing Rdio after a short delay and a warning in Growl so I’m not caught off guard.
Let me know if this works for you, or if you see any way to improve it. And please support your indie developers, without whom the solutions to life’s little technology problems would be forever beyond the grasp of hacks like me.