| /* |
| * Copyright (C) 2010 - 2015 UNISYS CORPORATION |
| * All rights reserved. |
| * |
| * This program is free software; you can redistribute it and/or modify it |
| * under the terms and conditions of the GNU General Public License, |
| * version 2, as published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope that it will be useful, but |
| * WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or |
| * NON INFRINGEMENT. See the GNU General Public License for more |
| * details. |
| */ |
| |
| #ifndef __SPAR_ULTRAINPUTREPORT_H__ |
| #define __SPAR_ULTRAINPUTREPORT_H__ |
| |
| #include <linux/types.h> |
| |
| /* These defines identify mouse and keyboard activity which is specified by the |
| * firmware to the host using the cmsimpleinput protocol. @ingroup coretypes |
| */ |
| /* only motion; arg1=x, arg2=y */ |
| #define INPUTACTION_XY_MOTION 1 |
| /* arg1: 1=left,2=center,3=right */ |
| #define INPUTACTION_MOUSE_BUTTON_DOWN 2 |
| /* arg1: 1=left,2=center,3=right */ |
| #define INPUTACTION_MOUSE_BUTTON_UP 3 |
| /* arg1: 1=left,2=center,3=right */ |
| #define INPUTACTION_MOUSE_BUTTON_CLICK 4 |
| /* arg1: 1=left,2=center 3=right */ |
| #define INPUTACTION_MOUSE_BUTTON_DCLICK 5 |
| /* arg1: wheel rotation away from user */ |
| #define INPUTACTION_WHEEL_ROTATE_AWAY 6 |
| /* arg1: wheel rotation toward user */ |
| #define INPUTACTION_WHEEL_ROTATE_TOWARD 7 |
| /* arg1: scancode, as follows: If arg1 <= 0xff, it's a 1-byte scancode and arg1 |
| * is that scancode. If arg1 > 0xff, it's a 2-byte scanecode, with the 1st |
| * byte in the low 8 bits, and the 2nd byte in the high 8 bits. |
| * E.g., the right ALT key would appear as x'38e0'. |
| */ |
| #define INPUTACTION_KEY_DOWN 64 |
| /* arg1: scancode (in same format as inputaction_keyDown) */ |
| #define INPUTACTION_KEY_UP 65 |
| /* arg1: scancode (in same format as inputaction_keyDown); MUST refer to one of |
| * the locking keys, like capslock, numlock, or scrolllock. |
| * arg2: 1 iff locking key should be in the LOCKED position (e.g., light is ON) |
| */ |
| #define INPUTACTION_SET_LOCKING_KEY_STATE 66 |
| /* arg1: scancode (in same format as inputaction_keyDown */ |
| #define INPUTACTION_KEY_DOWN_UP 67 |
| |
| struct visor_inputactivity { |
| u16 action; |
| u16 arg1; |
| u16 arg2; |
| u16 arg3; |
| } __packed; |
| |
| struct visor_inputreport { |
| u64 seq_no; |
| struct visor_inputactivity activity; |
| } __packed; |
| |
| #endif |