Hi, I'm working to create a fixup driver for the Saitek Cyborg Mouse (http://www.saitek.com/UK/prod/cyborgmouse.htm) device. So far I'm almost done with it, but I have a problem with the "trademark" feature of the Cyborg line... the 3 mode switch. I hardcoded the keys/buttons as follows: a. For all the modes, the buttons 1,2,3, the wheel axis and the X/Y axis are defaults b. The buttons 4,5,6 and the D-Pad (another 4 buttons) have this mapping: static unsigned red_code[]= {BTN_0, BTN_1, BTN_2, BTN_3, BTN_4, BTN_5, BTN_6}; static unsigned green_code[] = {BTN_BACK, BTN_FORWARD, BTN_SIDE, BTN_0, BTN_1, BTN_2, BTN_3}; static unsigned yellow_code[] = {BTN_BACK, BTN_FORWARD, BTN_SIDE, KEY_UP, KEY_RIGHT, KEY_DOWN, KEY_LEFT}; My problem is how to expose these to the user. What is the common/linux/whatever standard way to do this? IOCTL? sysfs? I'm also working to get the Cyborg Command Unit (http://www.saitek.com/UK/prod/cyborgcommand.htm) and the X52 Joystick (http://www.saitek.com/UK/prod/x52.htm) working with modal switch. Thanks, Bogdan. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html