-#define ALPS_MODEL_GLIDEPOINT 1
-#define ALPS_MODEL_DUALPOINT 2
-
-struct alps_model_info {
- unsigned char signature[3];
- unsigned char model;
-} alps_model_data[] = {
-/* { { 0x33, 0x02, 0x0a }, ALPS_MODEL_GLIDEPOINT }, */
- { { 0x53, 0x02, 0x0a }, ALPS_MODEL_GLIDEPOINT },
- { { 0x53, 0x02, 0x14 }, ALPS_MODEL_GLIDEPOINT },
- { { 0x63, 0x02, 0x0a }, ALPS_MODEL_GLIDEPOINT },
- { { 0x63, 0x02, 0x14 }, ALPS_MODEL_GLIDEPOINT },
- { { 0x73, 0x02, 0x0a }, ALPS_MODEL_GLIDEPOINT },
- { { 0x73, 0x02, 0x14 }, ALPS_MODEL_GLIDEPOINT },
- { { 0x63, 0x02, 0x28 }, ALPS_MODEL_GLIDEPOINT },
-/* { { 0x63, 0x02, 0x3c }, ALPS_MODEL_GLIDEPOINT }, */
-/* { { 0x63, 0x02, 0x50 }, ALPS_MODEL_GLIDEPOINT }, */
- { { 0x63, 0x02, 0x64 }, ALPS_MODEL_GLIDEPOINT },
- { { 0x20, 0x02, 0x0e }, ALPS_MODEL_DUALPOINT },
- { { 0x22, 0x02, 0x0a }, ALPS_MODEL_DUALPOINT },
- { { 0x22, 0x02, 0x14 }, ALPS_MODEL_DUALPOINT },
- { { 0x63, 0x03, 0xc8 }, ALPS_MODEL_DUALPOINT },
+#define ALPS_DUALPOINT 0x01
+#define ALPS_WHEEL 0x02
+#define ALPS_FW_BK_1 0x04
+#define ALPS_4BTN 0x08
+#define ALPS_OLDPROTO 0x10
+#define ALPS_PASS 0x20
+#define ALPS_FW_BK_2 0x40
+
+static const struct alps_model_info alps_model_data[] = {
+ { { 0x33, 0x02, 0x0a }, 0x88, 0xf8, ALPS_OLDPROTO }, /* UMAX-530T */
+ { { 0x53, 0x02, 0x0a }, 0xf8, 0xf8, 0 },
+ { { 0x53, 0x02, 0x14 }, 0xf8, 0xf8, 0 },
+ { { 0x60, 0x03, 0xc8 }, 0xf8, 0xf8, 0 }, /* HP ze1115 */
+ { { 0x63, 0x02, 0x0a }, 0xf8, 0xf8, 0 },
+ { { 0x63, 0x02, 0x14 }, 0xf8, 0xf8, 0 },
+ { { 0x63, 0x02, 0x28 }, 0xf8, 0xf8, ALPS_FW_BK_2 }, /* Fujitsu Siemens S6010 */
+ { { 0x63, 0x02, 0x3c }, 0x8f, 0x8f, ALPS_WHEEL }, /* Toshiba Satellite S2400-103 */
+ { { 0x63, 0x02, 0x50 }, 0xef, 0xef, ALPS_FW_BK_1 }, /* NEC Versa L320 */
+ { { 0x63, 0x02, 0x64 }, 0xf8, 0xf8, 0 },
+ { { 0x63, 0x03, 0xc8 }, 0xf8, 0xf8, ALPS_PASS }, /* Dell Latitude D800 */
+ { { 0x73, 0x02, 0x0a }, 0xf8, 0xf8, 0 },
+ { { 0x73, 0x02, 0x14 }, 0xf8, 0xf8, ALPS_FW_BK_2 }, /* Ahtec Laptop */
+ { { 0x20, 0x02, 0x0e }, 0xf8, 0xf8, ALPS_PASS | ALPS_DUALPOINT }, /* XXX */
+ { { 0x22, 0x02, 0x0a }, 0xf8, 0xf8, ALPS_PASS | ALPS_DUALPOINT },
+ { { 0x22, 0x02, 0x14 }, 0xff, 0xff, ALPS_PASS | ALPS_DUALPOINT }, /* Dell Latitude D600 */