move G29 input constants to header file
This commit is contained in:
@@ -25,25 +25,12 @@
|
|||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/hid.h>
|
#include <linux/hid.h>
|
||||||
|
|
||||||
|
#include "g29_usb.h"
|
||||||
|
|
||||||
MODULE_AUTHOR("LLP group 16");
|
MODULE_AUTHOR("LLP group 16");
|
||||||
MODULE_DESCRIPTION("Logitech G29 USB driver");
|
MODULE_DESCRIPTION("Logitech G29 USB driver");
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
|
|
||||||
#define USB_VENDOR_ID_LOGITECH 0x046d
|
|
||||||
#define USB_DEVICE_ID_LOGITECH_G29 0xc24f
|
|
||||||
#define USB_DEVICE_ID_LOGITECH_G29_ALT 0xc260
|
|
||||||
|
|
||||||
#define G29_BTN_PLUS 0x00800000u
|
|
||||||
#define G29_BTN_MINUS 0x01000000u
|
|
||||||
#define G29_BTN_RED_CW 0x02000000u
|
|
||||||
#define G29_BTN_RED_CCW 0x04000000u
|
|
||||||
#define G29_BTN_RETURN 0x08000000u
|
|
||||||
#define G29_BTN_R1 0x00000100u
|
|
||||||
#define G29_BTN_L1 0x00000200u
|
|
||||||
|
|
||||||
#define WHEEL_CENTER 32768
|
|
||||||
#define WHEEL_MAX_DIST 32768
|
|
||||||
|
|
||||||
enum g29_mode {
|
enum g29_mode {
|
||||||
G29_MODE_MEDIA = 0,
|
G29_MODE_MEDIA = 0,
|
||||||
};
|
};
|
||||||
@@ -52,17 +39,6 @@ static int mode = G29_MODE_MEDIA;
|
|||||||
module_param(mode, int, 0444);
|
module_param(mode, int, 0444);
|
||||||
MODULE_PARM_DESC(mode, "Mapping mode (0=MEDIA)");
|
MODULE_PARM_DESC(mode, "Mapping mode (0=MEDIA)");
|
||||||
|
|
||||||
struct g29_state {
|
|
||||||
u32 buttons_le;
|
|
||||||
u16 rot_le;
|
|
||||||
u8 gas;
|
|
||||||
u8 brk;
|
|
||||||
u8 clt;
|
|
||||||
u8 gr_x;
|
|
||||||
u8 gr_y;
|
|
||||||
u8 gr_z;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct g29_keymap_edge {
|
struct g29_keymap_edge {
|
||||||
u32 mask;
|
u32 mask;
|
||||||
unsigned short keycode;
|
unsigned short keycode;
|
||||||
|
|||||||
75
g29-wheel/g29_usb.h
Normal file
75
g29-wheel/g29_usb.h
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
/*
|
||||||
|
* Logitech G29 USB/HID Protocol Definitions
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef G29_USB_H
|
||||||
|
#define G29_USB_H
|
||||||
|
|
||||||
|
#include <linux/types.h>
|
||||||
|
|
||||||
|
#define USB_VENDOR_ID_LOGITECH 0x046d
|
||||||
|
#define USB_DEVICE_ID_LOGITECH_G29 0xc24f
|
||||||
|
#define USB_DEVICE_ID_LOGITECH_G29_ALT 0xc260
|
||||||
|
|
||||||
|
#define G29_BTN_X 0x00000010u
|
||||||
|
#define G29_BTN_SQUARE 0x00000020u
|
||||||
|
#define G29_BTN_CIRCLE 0x00000040u
|
||||||
|
#define G29_BTN_TRIANGLE 0x00000080u
|
||||||
|
#define G29_BTN_R1 0x00000100u
|
||||||
|
#define G29_BTN_L1 0x00000200u
|
||||||
|
#define G29_BTN_R2 0x00000400u
|
||||||
|
#define G29_BTN_L2 0x00000800u
|
||||||
|
#define G29_BTN_SHARE 0x00001000u
|
||||||
|
#define G29_BTN_OPTION 0x00002000u
|
||||||
|
#define G29_BTN_R3 0x00004000u
|
||||||
|
#define G29_BTN_L3 0x00008000u
|
||||||
|
#define G29_BTN_GEAR_1 0x00010000u
|
||||||
|
#define G29_BTN_GEAR_2 0x00020000u
|
||||||
|
#define G29_BTN_GEAR_3 0x00040000u
|
||||||
|
#define G29_BTN_GEAR_4 0x00080000u
|
||||||
|
#define G29_BTN_GEAR_5 0x00100000u
|
||||||
|
#define G29_BTN_GEAR_6 0x00200000u
|
||||||
|
#define G29_BTN_GEAR_REV 0x00400000u
|
||||||
|
#define G29_BTN_PLUS 0x00800000u
|
||||||
|
#define G29_BTN_MINUS 0x01000000u
|
||||||
|
#define G29_BTN_RED_CW 0x02000000u
|
||||||
|
#define G29_BTN_RED_CCW 0x04000000u
|
||||||
|
#define G29_BTN_RETURN 0x08000000u
|
||||||
|
|
||||||
|
#define G29_DPAD_MASK 0x0000000Eu
|
||||||
|
#define G29_DPAD_UP 0x00000000u
|
||||||
|
#define G29_DPAD_RIGHT 0x00000002u
|
||||||
|
#define G29_DPAD_DOWN 0x00000004u
|
||||||
|
#define G29_DPAD_LEFT 0x00000006u
|
||||||
|
#define G29_DPAD_NONE 0x00000008u
|
||||||
|
|
||||||
|
#define G29_WHEEL_MIN_ROTATION 0x0000
|
||||||
|
#define G29_WHEEL_MAX_ROTATION 0xFFFF
|
||||||
|
|
||||||
|
#define G29_PEDAL_RELEASED 0xFF
|
||||||
|
#define G29_PEDAL_PRESSED 0x00
|
||||||
|
#define G29_PEDAL_THRESHOLD 0x80
|
||||||
|
|
||||||
|
#define G29_GEARSHIFT_X_LEFT 0x30 /* Gears 1-2 */
|
||||||
|
#define G29_GEARSHIFT_X_CENTER 0x80 /* Gears 3-4 */
|
||||||
|
#define G29_GEARSHIFT_X_RIGHT 0xB0 /* Gears 5-6-R */
|
||||||
|
#define G29_GEARSHIFT_Y_TOP 0xD0 /* Gears 1-3-5 */
|
||||||
|
#define G29_GEARSHIFT_Y_BOTTOM 0x40 /* Gears 2-4-6-R */
|
||||||
|
#define G29_GEARSHIFT_Z_NEUTRAL 0x9C /* Neutral position */
|
||||||
|
#define G29_GEARSHIFT_Z_PRESSED 0xDC /* Pressed down */
|
||||||
|
|
||||||
|
#define WHEEL_CENTER 32768
|
||||||
|
#define WHEEL_MAX_DIST 32768
|
||||||
|
|
||||||
|
struct g29_state {
|
||||||
|
u32 buttons_le; /* Button bitmask (little-endian) */
|
||||||
|
u16 rot_le; /* Wheel rotation (little-endian) */
|
||||||
|
u8 gas; /* Gas pedal (0xFF=up, 0x00=down) */
|
||||||
|
u8 brk; /* Brake pedal (0xFF=up, 0x00=down) */
|
||||||
|
u8 clt; /* Clutch pedal (0xFF=up, 0x00=down) */
|
||||||
|
u8 gr_x; /* Gearshift X-axis */
|
||||||
|
u8 gr_y; /* Gearshift Y-axis */
|
||||||
|
u8 gr_z; /* Gearshift Z-axis */
|
||||||
|
} __packed;
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user