1 /* dstep -I/path/to/ndk-r9d/platforms/android-9/arch-x86/usr/include -I/path/to/ndk-r9d/toolchains/llvm-3.4/prebuilt/linux-x86/lib/clang/3.4/include /path/to/ndk-r9d/platforms/android-9/arch-x86/usr/include/android/input.h -o input.d*/ 2 3 module android.input; 4 5 import android.keycodes, android.looper; 6 7 version (Android): 8 extern (C): 9 @system: 10 nothrow: 11 @nogc: 12 13 enum 14 { 15 AKEY_STATE_UNKNOWN = -1, 16 AKEY_STATE_UP = 0, 17 AKEY_STATE_DOWN = 1, 18 AKEY_STATE_VIRTUAL = 2 19 } 20 21 enum 22 { 23 AMETA_NONE = 0, 24 AMETA_ALT_ON = 2, 25 AMETA_ALT_LEFT_ON = 16, 26 AMETA_ALT_RIGHT_ON = 32, 27 AMETA_SHIFT_ON = 1, 28 AMETA_SHIFT_LEFT_ON = 64, 29 AMETA_SHIFT_RIGHT_ON = 128, 30 AMETA_SYM_ON = 4 31 } 32 33 enum 34 { 35 AINPUT_EVENT_TYPE_KEY = 1, 36 AINPUT_EVENT_TYPE_MOTION = 2 37 } 38 39 enum 40 { 41 AKEY_EVENT_ACTION_DOWN = 0, 42 AKEY_EVENT_ACTION_UP = 1, 43 AKEY_EVENT_ACTION_MULTIPLE = 2 44 } 45 46 enum 47 { 48 AKEY_EVENT_FLAG_WOKE_HERE = 1, 49 AKEY_EVENT_FLAG_SOFT_KEYBOARD = 2, 50 AKEY_EVENT_FLAG_KEEP_TOUCH_MODE = 4, 51 AKEY_EVENT_FLAG_FROM_SYSTEM = 8, 52 AKEY_EVENT_FLAG_EDITOR_ACTION = 16, 53 AKEY_EVENT_FLAG_CANCELED = 32, 54 AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY = 64, 55 AKEY_EVENT_FLAG_LONG_PRESS = 128, 56 AKEY_EVENT_FLAG_CANCELED_LONG_PRESS = 256, 57 AKEY_EVENT_FLAG_TRACKING = 512 58 } 59 60 enum AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT = 8; 61 62 enum 63 { 64 AMOTION_EVENT_ACTION_MASK = 255, 65 AMOTION_EVENT_ACTION_POINTER_INDEX_MASK = 65280, 66 AMOTION_EVENT_ACTION_DOWN = 0, 67 AMOTION_EVENT_ACTION_UP = 1, 68 AMOTION_EVENT_ACTION_MOVE = 2, 69 AMOTION_EVENT_ACTION_CANCEL = 3, 70 AMOTION_EVENT_ACTION_OUTSIDE = 4, 71 AMOTION_EVENT_ACTION_POINTER_DOWN = 5, 72 AMOTION_EVENT_ACTION_POINTER_UP = 6 73 } 74 75 enum 76 { 77 AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED = 1 78 } 79 80 enum 81 { 82 AMOTION_EVENT_EDGE_FLAG_NONE = 0, 83 AMOTION_EVENT_EDGE_FLAG_TOP = 1, 84 AMOTION_EVENT_EDGE_FLAG_BOTTOM = 2, 85 AMOTION_EVENT_EDGE_FLAG_LEFT = 4, 86 AMOTION_EVENT_EDGE_FLAG_RIGHT = 8 87 } 88 89 enum 90 { 91 AINPUT_SOURCE_CLASS_MASK = 255, 92 AINPUT_SOURCE_CLASS_BUTTON = 1, 93 AINPUT_SOURCE_CLASS_POINTER = 2, 94 AINPUT_SOURCE_CLASS_NAVIGATION = 4, 95 AINPUT_SOURCE_CLASS_POSITION = 8 96 } 97 98 enum 99 { 100 AINPUT_SOURCE_UNKNOWN = 0, 101 AINPUT_SOURCE_KEYBOARD = 257, 102 AINPUT_SOURCE_DPAD = 513, 103 AINPUT_SOURCE_TOUCHSCREEN = 4098, 104 AINPUT_SOURCE_MOUSE = 8194, 105 AINPUT_SOURCE_TRACKBALL = 65540, 106 AINPUT_SOURCE_TOUCHPAD = 1048584, 107 AINPUT_SOURCE_ANY = 0xffffff00 108 } 109 110 enum 111 { 112 AINPUT_KEYBOARD_TYPE_NONE = 0, 113 AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC = 1, 114 AINPUT_KEYBOARD_TYPE_ALPHABETIC = 2 115 } 116 117 enum 118 { 119 AINPUT_MOTION_RANGE_X = 0, 120 AINPUT_MOTION_RANGE_Y = 1, 121 AINPUT_MOTION_RANGE_PRESSURE = 2, 122 AINPUT_MOTION_RANGE_SIZE = 3, 123 AINPUT_MOTION_RANGE_TOUCH_MAJOR = 4, 124 AINPUT_MOTION_RANGE_TOUCH_MINOR = 5, 125 AINPUT_MOTION_RANGE_TOOL_MAJOR = 6, 126 AINPUT_MOTION_RANGE_TOOL_MINOR = 7, 127 AINPUT_MOTION_RANGE_ORIENTATION = 8 128 } 129 130 struct AInputQueue; 131 struct AInputEvent; 132 133 int AInputEvent_getType(const(AInputEvent)* event); 134 int AInputEvent_getDeviceId(const(AInputEvent)* event); 135 int AInputEvent_getSource(const(AInputEvent)* event); 136 int AKeyEvent_getAction(const(AInputEvent)* key_event); 137 int AKeyEvent_getFlags(const(AInputEvent)* key_event); 138 int AKeyEvent_getKeyCode(const(AInputEvent)* key_event); 139 int AKeyEvent_getScanCode(const(AInputEvent)* key_event); 140 int AKeyEvent_getMetaState(const(AInputEvent)* key_event); 141 int AKeyEvent_getRepeatCount(const(AInputEvent)* key_event); 142 long AKeyEvent_getDownTime(const(AInputEvent)* key_event); 143 long AKeyEvent_getEventTime(const(AInputEvent)* key_event); 144 int AMotionEvent_getAction(const(AInputEvent)* motion_event); 145 int AMotionEvent_getFlags(const(AInputEvent)* motion_event); 146 int AMotionEvent_getMetaState(const(AInputEvent)* motion_event); 147 int AMotionEvent_getEdgeFlags(const(AInputEvent)* motion_event); 148 long AMotionEvent_getDownTime(const(AInputEvent)* motion_event); 149 long AMotionEvent_getEventTime(const(AInputEvent)* motion_event); 150 float AMotionEvent_getXOffset(const(AInputEvent)* motion_event); 151 float AMotionEvent_getYOffset(const(AInputEvent)* motion_event); 152 float AMotionEvent_getXPrecision(const(AInputEvent)* motion_event); 153 float AMotionEvent_getYPrecision(const(AInputEvent)* motion_event); 154 size_t AMotionEvent_getPointerCount(const(AInputEvent)* motion_event); 155 int AMotionEvent_getPointerId(const(AInputEvent)* motion_event, size_t pointer_index); 156 float AMotionEvent_getRawX(const(AInputEvent)* motion_event, size_t pointer_index); 157 float AMotionEvent_getRawY(const(AInputEvent)* motion_event, size_t pointer_index); 158 float AMotionEvent_getX(const(AInputEvent)* motion_event, size_t pointer_index); 159 float AMotionEvent_getY(const(AInputEvent)* motion_event, size_t pointer_index); 160 float AMotionEvent_getPressure(const(AInputEvent)* motion_event, size_t pointer_index); 161 float AMotionEvent_getSize(const(AInputEvent)* motion_event, size_t pointer_index); 162 float AMotionEvent_getTouchMajor(const(AInputEvent)* motion_event, size_t pointer_index); 163 float AMotionEvent_getTouchMinor(const(AInputEvent)* motion_event, size_t pointer_index); 164 float AMotionEvent_getToolMajor(const(AInputEvent)* motion_event, size_t pointer_index); 165 float AMotionEvent_getToolMinor(const(AInputEvent)* motion_event, size_t pointer_index); 166 float AMotionEvent_getOrientation(const(AInputEvent)* motion_event, size_t pointer_index); 167 size_t AMotionEvent_getHistorySize(const(AInputEvent)* motion_event); 168 long AMotionEvent_getHistoricalEventTime(const(AInputEvent)* motion_event, size_t history_index); 169 float AMotionEvent_getHistoricalRawX(const(AInputEvent)* motion_event, size_t pointer_index, size_t history_index); 170 float AMotionEvent_getHistoricalRawY(const(AInputEvent)* motion_event, size_t pointer_index, size_t history_index); 171 float AMotionEvent_getHistoricalX(const(AInputEvent)* motion_event, size_t pointer_index, size_t history_index); 172 float AMotionEvent_getHistoricalY(const(AInputEvent)* motion_event, size_t pointer_index, size_t history_index); 173 float AMotionEvent_getHistoricalPressure(const(AInputEvent)* motion_event, size_t pointer_index, size_t history_index); 174 float AMotionEvent_getHistoricalSize(const(AInputEvent)* motion_event, size_t pointer_index, size_t history_index); 175 float AMotionEvent_getHistoricalTouchMajor(const(AInputEvent)* motion_event, size_t pointer_index, size_t history_index); 176 float AMotionEvent_getHistoricalTouchMinor(const(AInputEvent)* motion_event, size_t pointer_index, size_t history_index); 177 float AMotionEvent_getHistoricalToolMajor(const(AInputEvent)* motion_event, size_t pointer_index, size_t history_index); 178 float AMotionEvent_getHistoricalToolMinor(const(AInputEvent)* motion_event, size_t pointer_index, size_t history_index); 179 float AMotionEvent_getHistoricalOrientation(const(AInputEvent)* motion_event, size_t pointer_index, size_t history_index); 180 void AInputQueue_attachLooper(AInputQueue* queue, ALooper* looper, int ident, ALooper_callbackFunc callback, void* data); 181 void AInputQueue_detachLooper(AInputQueue* queue); 182 int AInputQueue_hasEvents(AInputQueue* queue); 183 int AInputQueue_getEvent(AInputQueue* queue, AInputEvent** outEvent); 184 int AInputQueue_preDispatchEvent(AInputQueue* queue, AInputEvent* event); 185 void AInputQueue_finishEvent(AInputQueue* queue, AInputEvent* event, int handled);