Input: logips2pp - add sugnature 56 (Cordless MouseMan Wheel), cleanup
Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
11ea3173d5
commit
e3882bb56e
|
@ -30,9 +30,9 @@
|
||||||
#define PS2PP_NAV_BTN 0x20
|
#define PS2PP_NAV_BTN 0x20
|
||||||
|
|
||||||
struct ps2pp_info {
|
struct ps2pp_info {
|
||||||
const int model;
|
u8 model;
|
||||||
unsigned const int kind;
|
u8 kind;
|
||||||
unsigned const int features;
|
u16 features;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -199,9 +199,9 @@ static void ps2pp_disconnect(struct psmouse *psmouse)
|
||||||
device_remove_file(&psmouse->ps2dev.serio->dev, &psmouse_attr_smartscroll.dattr);
|
device_remove_file(&psmouse->ps2dev.serio->dev, &psmouse_attr_smartscroll.dattr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ps2pp_info *get_model_info(unsigned char model)
|
static const struct ps2pp_info *get_model_info(unsigned char model)
|
||||||
{
|
{
|
||||||
static struct ps2pp_info ps2pp_list[] = {
|
static const struct ps2pp_info ps2pp_list[] = {
|
||||||
{ 12, 0, PS2PP_SIDE_BTN},
|
{ 12, 0, PS2PP_SIDE_BTN},
|
||||||
{ 13, 0, 0 },
|
{ 13, 0, 0 },
|
||||||
{ 15, PS2PP_KIND_MX, /* MX1000 */
|
{ 15, PS2PP_KIND_MX, /* MX1000 */
|
||||||
|
@ -215,6 +215,7 @@ static struct ps2pp_info *get_model_info(unsigned char model)
|
||||||
{ 51, 0, 0 },
|
{ 51, 0, 0 },
|
||||||
{ 52, PS2PP_KIND_WHEEL, PS2PP_SIDE_BTN | PS2PP_WHEEL },
|
{ 52, PS2PP_KIND_WHEEL, PS2PP_SIDE_BTN | PS2PP_WHEEL },
|
||||||
{ 53, PS2PP_KIND_WHEEL, PS2PP_WHEEL },
|
{ 53, PS2PP_KIND_WHEEL, PS2PP_WHEEL },
|
||||||
|
{ 56, PS2PP_KIND_WHEEL, PS2PP_SIDE_BTN | PS2PP_WHEEL }, /* Cordless MouseMan Wheel */
|
||||||
{ 61, PS2PP_KIND_MX, /* MX700 */
|
{ 61, PS2PP_KIND_MX, /* MX700 */
|
||||||
PS2PP_WHEEL | PS2PP_SIDE_BTN | PS2PP_TASK_BTN |
|
PS2PP_WHEEL | PS2PP_SIDE_BTN | PS2PP_TASK_BTN |
|
||||||
PS2PP_EXTRA_BTN | PS2PP_NAV_BTN },
|
PS2PP_EXTRA_BTN | PS2PP_NAV_BTN },
|
||||||
|
@ -245,12 +246,11 @@ static struct ps2pp_info *get_model_info(unsigned char model)
|
||||||
PS2PP_EXTRA_BTN | PS2PP_NAV_BTN },
|
PS2PP_EXTRA_BTN | PS2PP_NAV_BTN },
|
||||||
{ 114, PS2PP_KIND_MX, /* MX310 */
|
{ 114, PS2PP_KIND_MX, /* MX310 */
|
||||||
PS2PP_WHEEL | PS2PP_SIDE_BTN |
|
PS2PP_WHEEL | PS2PP_SIDE_BTN |
|
||||||
PS2PP_TASK_BTN | PS2PP_EXTRA_BTN },
|
PS2PP_TASK_BTN | PS2PP_EXTRA_BTN }
|
||||||
{ }
|
|
||||||
};
|
};
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; ps2pp_list[i].model; i++)
|
for (i = 0; i < ARRAY_SIZE(ps2pp_list); i++)
|
||||||
if (model == ps2pp_list[i].model)
|
if (model == ps2pp_list[i].model)
|
||||||
return &ps2pp_list[i];
|
return &ps2pp_list[i];
|
||||||
|
|
||||||
|
@ -262,7 +262,8 @@ static struct ps2pp_info *get_model_info(unsigned char model)
|
||||||
* Set up input device's properties based on the detected mouse model.
|
* Set up input device's properties based on the detected mouse model.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void ps2pp_set_model_properties(struct psmouse *psmouse, struct ps2pp_info *model_info,
|
static void ps2pp_set_model_properties(struct psmouse *psmouse,
|
||||||
|
const struct ps2pp_info *model_info,
|
||||||
int using_ps2pp)
|
int using_ps2pp)
|
||||||
{
|
{
|
||||||
struct input_dev *input_dev = psmouse->dev;
|
struct input_dev *input_dev = psmouse->dev;
|
||||||
|
@ -328,7 +329,7 @@ int ps2pp_init(struct psmouse *psmouse, int set_properties)
|
||||||
struct ps2dev *ps2dev = &psmouse->ps2dev;
|
struct ps2dev *ps2dev = &psmouse->ps2dev;
|
||||||
unsigned char param[4];
|
unsigned char param[4];
|
||||||
unsigned char model, buttons;
|
unsigned char model, buttons;
|
||||||
struct ps2pp_info *model_info;
|
const struct ps2pp_info *model_info;
|
||||||
int use_ps2pp = 0;
|
int use_ps2pp = 0;
|
||||||
|
|
||||||
param[0] = 0;
|
param[0] = 0;
|
||||||
|
@ -350,7 +351,7 @@ int ps2pp_init(struct psmouse *psmouse, int set_properties)
|
||||||
/*
|
/*
|
||||||
* Do Logitech PS2++ / PS2T++ magic init.
|
* Do Logitech PS2++ / PS2T++ magic init.
|
||||||
*/
|
*/
|
||||||
if (model == 97) { /* Touch Pad 3 */
|
if (model_info->kind == PS2PP_KIND_TP3) { /* Touch Pad 3 */
|
||||||
|
|
||||||
/* Unprotect RAM */
|
/* Unprotect RAM */
|
||||||
param[0] = 0x11; param[1] = 0x04; param[2] = 0x68;
|
param[0] = 0x11; param[1] = 0x04; param[2] = 0x68;
|
||||||
|
|
Loading…
Reference in New Issue