Thought I'd add some info for the Speedlink SL-6399 MCE clone. Being in a cheap mood I ordered it before I'd read about it's rather unconventional approach and saw some people having a lot of difficulty getting it to work in XBMC.
I actually need not have worried as it was fairly straightforward using Eventghost. This is how I got it working (Vista 32-Bit):
A. Plug it in no need for drivers
B. Download and install Eventghost 0.3.7.r851 (or later) from here
C. Load Eventghost and install 3 plugins:
1. A keyboard plugin
2. A Generic HID plugin - from the list of choices there are 4 entries called HID Holtek: YaoCoo, for me it was the second one down I needed to install. It might be different for you so if it doesn't work check the plugins one at a time and see if the volume + and - keys register in the log down the left. If they do that's the plugin you need to keep.
3. XBMC program plug in
D. Important - the 'Msn' button seems to act as a toggle allowing the directional keys to act as either the arrow keys or to move the mouse cursor. We need the remote to be in arrow key mode (it stops some other buttons working in mouse mode) so test the directional buttons. If "Keyboard.Left" for example appears in the log as you press left you're in the right mode, if the mouse moves press 'Msn' and then check again until it registers as a keyboard arrow press.
E. Start programming in key presses:
Some keys work as HID keypresses (Volume, Mute) so there is no problem. For example "Volume +" shows in the log as "HID.Button.233", simply find the macro for "Volume Up" in the right hand pane within the XBMC folder and drag "HID.Button.233" from the log into the macro.
Other keys you don't need to program at all (and indeed shouldn't be for best performance). For instance the directional keys, the OK key and the 'back' key all work as intended in XBMC 'out of the box' as does the PC power key (closes XBMC).
Most of the keys however will involve the slightly more difficult task of picking the most unique key combination that registers when you press a button. For example:
The ''Stop" button when pressed and released will actually come up with 5 entries in the log:
Keyboard.LShift + LCtrl
Keyboard.LShift + LCtrl + S
Keyboard.LShift + S
This is the same for most other buttons. If (like me) you keep Eventghost open all the time' what you want to do is pick the least obvious of the entries that come up for each button. Once an action is applied to something in Eventghost it cannot be used in other windows programs (So choosing Keyboard.S in the example above would be a bad idea). The best would be "Keyboard.LShift + LCtrl + S" as that doesn't match any shortcuts commonly used in other programs. Of course, if you want you can simply choose any of them and only launch Eventghost when you use XBMC. You can set a macro to launch XBMC when Eventghost starts.[/indent]
As before drag over one of the keyboard actions a keypress creates to the macro you wish the key to preform.
It's really up to you with some of the keys as to what/if you assign them to actions. Personally I assigned the more essential keys (play, stop, FF etc), 'Aspect' as the Previous Menu action (so it's close to the 'back' key), 'more' key to show info and the coloured keys for movies, TV, Music etc. Over time I've assigned some of the more random keys (circular coloured keys at the very bottom of the remote) to tasks like aspect ratio, OSD, context menu. Just don't use the Msn button for anything and make sure it's toggled into keyboard mode!
Once you're done, save your profile and load up XBMC (obviously with Eventghost open!) to check everything works.