diff options
Diffstat (limited to 'drivers/misc/ibmasm/remote.c')
| -rw-r--r-- | drivers/misc/ibmasm/remote.c | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/drivers/misc/ibmasm/remote.c b/drivers/misc/ibmasm/remote.c index a40fda6c402c..0550ce075fc4 100644 --- a/drivers/misc/ibmasm/remote.c +++ b/drivers/misc/ibmasm/remote.c | |||
| @@ -28,11 +28,10 @@ | |||
| 28 | #include "ibmasm.h" | 28 | #include "ibmasm.h" |
| 29 | #include "remote.h" | 29 | #include "remote.h" |
| 30 | 30 | ||
| 31 | static int xmax = 1600; | 31 | #define MOUSE_X_MAX 1600 |
| 32 | static int ymax = 1200; | 32 | #define MOUSE_Y_MAX 1200 |
| 33 | 33 | ||
| 34 | 34 | static const unsigned short xlate_high[XLATE_SIZE] = { | |
| 35 | static unsigned short xlate_high[XLATE_SIZE] = { | ||
| 36 | [KEY_SYM_ENTER & 0xff] = KEY_ENTER, | 35 | [KEY_SYM_ENTER & 0xff] = KEY_ENTER, |
| 37 | [KEY_SYM_KPSLASH & 0xff] = KEY_KPSLASH, | 36 | [KEY_SYM_KPSLASH & 0xff] = KEY_KPSLASH, |
| 38 | [KEY_SYM_KPSTAR & 0xff] = KEY_KPASTERISK, | 37 | [KEY_SYM_KPSTAR & 0xff] = KEY_KPASTERISK, |
| @@ -81,7 +80,8 @@ static unsigned short xlate_high[XLATE_SIZE] = { | |||
| 81 | [KEY_SYM_NUM_LOCK & 0xff] = KEY_NUMLOCK, | 80 | [KEY_SYM_NUM_LOCK & 0xff] = KEY_NUMLOCK, |
| 82 | [KEY_SYM_SCR_LOCK & 0xff] = KEY_SCROLLLOCK, | 81 | [KEY_SYM_SCR_LOCK & 0xff] = KEY_SCROLLLOCK, |
| 83 | }; | 82 | }; |
| 84 | static unsigned short xlate[XLATE_SIZE] = { | 83 | |
| 84 | static const unsigned short xlate[XLATE_SIZE] = { | ||
| 85 | [NO_KEYCODE] = KEY_RESERVED, | 85 | [NO_KEYCODE] = KEY_RESERVED, |
| 86 | [KEY_SYM_SPACE] = KEY_SPACE, | 86 | [KEY_SYM_SPACE] = KEY_SPACE, |
| 87 | [KEY_SYM_TILDE] = KEY_GRAVE, [KEY_SYM_BKTIC] = KEY_GRAVE, | 87 | [KEY_SYM_TILDE] = KEY_GRAVE, [KEY_SYM_BKTIC] = KEY_GRAVE, |
| @@ -133,19 +133,16 @@ static unsigned short xlate[XLATE_SIZE] = { | |||
| 133 | [KEY_SYM_Z] = KEY_Z, [KEY_SYM_z] = KEY_Z, | 133 | [KEY_SYM_Z] = KEY_Z, [KEY_SYM_z] = KEY_Z, |
| 134 | }; | 134 | }; |
| 135 | 135 | ||
| 136 | static char remote_mouse_name[] = "ibmasm RSA I remote mouse"; | ||
| 137 | static char remote_keybd_name[] = "ibmasm RSA I remote keyboard"; | ||
| 138 | |||
| 139 | static void print_input(struct remote_input *input) | 136 | static void print_input(struct remote_input *input) |
| 140 | { | 137 | { |
| 141 | if (input->type == INPUT_TYPE_MOUSE) { | 138 | if (input->type == INPUT_TYPE_MOUSE) { |
| 142 | unsigned char buttons = input->mouse_buttons; | 139 | unsigned char buttons = input->mouse_buttons; |
| 143 | dbg("remote mouse movement: (x,y)=(%d,%d)%s%s%s%s\n", | 140 | dbg("remote mouse movement: (x,y)=(%d,%d)%s%s%s%s\n", |
| 144 | input->data.mouse.x, input->data.mouse.y, | 141 | input->data.mouse.x, input->data.mouse.y, |
| 145 | (buttons)?" -- buttons:":"", | 142 | (buttons) ? " -- buttons:" : "", |
| 146 | (buttons & REMOTE_BUTTON_LEFT)?"left ":"", | 143 | (buttons & REMOTE_BUTTON_LEFT) ? "left " : "", |
| 147 | (buttons & REMOTE_BUTTON_MIDDLE)?"middle ":"", | 144 | (buttons & REMOTE_BUTTON_MIDDLE) ? "middle " : "", |
| 148 | (buttons & REMOTE_BUTTON_RIGHT)?"right":"" | 145 | (buttons & REMOTE_BUTTON_RIGHT) ? "right" : "" |
| 149 | ); | 146 | ); |
| 150 | } else { | 147 | } else { |
| 151 | dbg("remote keypress (code, flag, down):" | 148 | dbg("remote keypress (code, flag, down):" |
| @@ -180,7 +177,7 @@ static void send_keyboard_event(struct input_dev *dev, | |||
| 180 | key = xlate_high[code & 0xff]; | 177 | key = xlate_high[code & 0xff]; |
| 181 | else | 178 | else |
| 182 | key = xlate[code]; | 179 | key = xlate[code]; |
| 183 | input_report_key(dev, key, (input->data.keyboard.key_down) ? 1 : 0); | 180 | input_report_key(dev, key, input->data.keyboard.key_down); |
| 184 | input_sync(dev); | 181 | input_sync(dev); |
| 185 | } | 182 | } |
| 186 | 183 | ||
| @@ -228,20 +225,22 @@ int ibmasm_init_remote_input_dev(struct service_processor *sp) | |||
| 228 | mouse_dev->id.vendor = pdev->vendor; | 225 | mouse_dev->id.vendor = pdev->vendor; |
| 229 | mouse_dev->id.product = pdev->device; | 226 | mouse_dev->id.product = pdev->device; |
| 230 | mouse_dev->id.version = 1; | 227 | mouse_dev->id.version = 1; |
| 228 | mouse_dev->dev.parent = sp->dev; | ||
| 231 | mouse_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); | 229 | mouse_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); |
| 232 | mouse_dev->keybit[LONG(BTN_MOUSE)] = BIT(BTN_LEFT) | | 230 | mouse_dev->keybit[LONG(BTN_MOUSE)] = BIT(BTN_LEFT) | |
| 233 | BIT(BTN_RIGHT) | BIT(BTN_MIDDLE); | 231 | BIT(BTN_RIGHT) | BIT(BTN_MIDDLE); |
| 234 | set_bit(BTN_TOUCH, mouse_dev->keybit); | 232 | set_bit(BTN_TOUCH, mouse_dev->keybit); |
| 235 | mouse_dev->name = remote_mouse_name; | 233 | mouse_dev->name = "ibmasm RSA I remote mouse"; |
| 236 | input_set_abs_params(mouse_dev, ABS_X, 0, xmax, 0, 0); | 234 | input_set_abs_params(mouse_dev, ABS_X, 0, MOUSE_X_MAX, 0, 0); |
| 237 | input_set_abs_params(mouse_dev, ABS_Y, 0, ymax, 0, 0); | 235 | input_set_abs_params(mouse_dev, ABS_Y, 0, MOUSE_Y_MAX, 0, 0); |
| 238 | 236 | ||
| 239 | mouse_dev->id.bustype = BUS_PCI; | 237 | keybd_dev->id.bustype = BUS_PCI; |
| 240 | keybd_dev->id.vendor = pdev->vendor; | 238 | keybd_dev->id.vendor = pdev->vendor; |
| 241 | keybd_dev->id.product = pdev->device; | 239 | keybd_dev->id.product = pdev->device; |
| 242 | mouse_dev->id.version = 2; | 240 | keybd_dev->id.version = 2; |
| 241 | keybd_dev->dev.parent = sp->dev; | ||
| 243 | keybd_dev->evbit[0] = BIT(EV_KEY); | 242 | keybd_dev->evbit[0] = BIT(EV_KEY); |
| 244 | keybd_dev->name = remote_keybd_name; | 243 | keybd_dev->name = "ibmasm RSA I remote keyboard"; |
| 245 | 244 | ||
| 246 | for (i = 0; i < XLATE_SIZE; i++) { | 245 | for (i = 0; i < XLATE_SIZE; i++) { |
| 247 | if (xlate_high[i]) | 246 | if (xlate_high[i]) |
