| page.title=Dumpsys Input Diagnostics |
| @jd:body |
| |
| <!-- |
| Copyright 2015 The Android Open Source Project |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <div id="qv-wrapper"> |
| <div id="qv"> |
| <h2>In this document</h2> |
| <ol id="auto-toc"> |
| </ol> |
| </div> |
| </div> |
| |
| <p>The <code>dumpsys</code> input command dumps the state of the |
| system’s input devices, such as keyboards and touchscreens, and the |
| processing of input events.</p> |
| |
| <h2 id="input">Input</h2> |
| <p>To dump the input system’s state, run the following command:</p> |
| <pre> |
| $ adb shell dumpsys input |
| </pre> |
| |
| <h2 id="output">Output</h2> |
| |
| <p>The set of information reported varies depending on the version of Android |
| but consists of three sections:</p> |
| |
| <ul> |
| <li> Event Hub State |
| <li> Input Reader State |
| <li> Input Dispatcher State |
| </ul> |
| |
| <h3 id="event_hub_state">Event Hub State</h3> |
| |
| <pre><code> |
| INPUT MANAGER (dumpsys input) |
| |
| Event Hub State: |
| BuiltInKeyboardId: -2 |
| Devices: |
| -1: Virtual |
| Classes: 0x40000023 |
| Path: <virtual> |
| Descriptor: a718a782d34bc767f4689c232d64d527998ea7fd |
| Location: |
| ControllerNumber: 0 |
| UniqueId: <virtual> |
| Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000 |
| KeyLayoutFile: /system/usr/keylayout/Generic.kl |
| KeyCharacterMapFile: /system/usr/keychars/Virtual.kcm |
| ConfigurationFile: |
| HaveKeyboardLayoutOverlay: false |
| 1: msm8974-taiko-mtp-snd-card Headset Jack |
| Classes: 0x00000080 |
| Path: /dev/input/event5 |
| Descriptor: c8e3782483b4837ead6602e20483c46ff801112c |
| Location: ALSA |
| ControllerNumber: 0 |
| UniqueId: |
| Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000 |
| KeyLayoutFile: |
| KeyCharacterMapFile: |
| ConfigurationFile: |
| HaveKeyboardLayoutOverlay: false |
| 2: msm8974-taiko-mtp-snd-card Button Jack |
| Classes: 0x00000001 |
| Path: /dev/input/event4 |
| Descriptor: 96fe62b244c555351ec576b282232e787fb42bab |
| Location: ALSA |
| ControllerNumber: 0 |
| UniqueId: |
| Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000 |
| KeyLayoutFile: /system/usr/keylayout/msm8974-taiko-mtp-snd-card_Button_Jack.kl |
| KeyCharacterMapFile: /system/usr/keychars/msm8974-taiko-mtp-snd-card_Button_Jack.kcm |
| ConfigurationFile: |
| HaveKeyboardLayoutOverlay: false |
| 3: hs_detect |
| Classes: 0x00000081 |
| Path: /dev/input/event3 |
| Descriptor: 485d69228e24f5e46da1598745890b214130dbc4 |
| Location: |
| ControllerNumber: 0 |
| UniqueId: |
| Identifier: bus=0x0000, vendor=0x0001, product=0x0001, version=0x0001 |
| KeyLayoutFile: /system/usr/keylayout/hs_detect.kl |
| KeyCharacterMapFile: /system/usr/keychars/hs_detect.kcm |
| ConfigurationFile: |
| HaveKeyboardLayoutOverlay: false |
| 4: touch_dev |
| Classes: 0x00000014 |
| Path: /dev/input/event1 |
| Descriptor: 4e2720e99bd2b59adae8529881343531fff7c98e |
| Location: |
| ControllerNumber: 0 |
| UniqueId: |
| Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000 |
| KeyLayoutFile: |
| KeyCharacterMapFile: |
| ConfigurationFile: /system/usr/idc/touch_dev.idc |
| HaveKeyboardLayoutOverlay: false |
| 5: qpnp_pon |
| Classes: 0x00000001 |
| Path: /dev/input/event0 |
| Descriptor: fb60d4f4370f5dbe8267b63d38dea852987571ab |
| Location: qpnp_pon/input0 |
| ControllerNumber: 0 |
| UniqueId: |
| Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000 |
| KeyLayoutFile: /system/usr/keylayout/qpnp_pon.kl |
| KeyCharacterMapFile: /system/usr/keychars/qpnp_pon.kcm |
| ConfigurationFile: |
| HaveKeyboardLayoutOverlay: false |
| 6: gpio-keys |
| Classes: 0x00000081 |
| Path: /dev/input/event2 |
| Descriptor: d2c52ff0f656fac4cd7b7a118d575e0109a9fe1c |
| Location: gpio-keys/input0 |
| ControllerNumber: 0 |
| UniqueId: |
| Identifier: bus=0x0019, vendor=0x0001, product=0x0001, version=0x0100 |
| KeyLayoutFile: /system/usr/keylayout/gpio-keys.kl |
| KeyCharacterMapFile: /system/usr/keychars/gpio-keys.kcm |
| ConfigurationFile: |
| HaveKeyboardLayoutOverlay: false |
| </code></pre> |
| |
| <h4 id="things-to-look-for">Things to check</h4> |
| |
| <ul> |
| <li> All of the expected input devices are present.</li> |
| |
| <li> Each input device has an appropriate key layout file, key character map |
| file and input device configuration file. If the files are missing or contain |
| syntax errors, then they will not be loaded.</li> |
| |
| <li> Each input device is being classified correctly. The bits in the |
| <code>Classes</code> field correspond to flags in <code>EventHub.h</code> such |
| as <code>INPUT_DEVICE_CLASS_TOUCH_MT</code>.</li> |
| |
| <li> The <code>BuiltInKeyboardId</code> is correct. If the device does not |
| have a built-in keyboard, then the id must be <code>-2</code>, otherwise it |
| should be the id of the built-in keyboard.</li> |
| |
| <li>If you observe that the <code>BuiltInKeyboardId</code> is not |
| <code>-2</code> but it should be, then you are missing a key character map file |
| for a special function keypad somewhere. Special function keypad devices |
| should have key character map files that contain just the line <code>type |
| SPECIAL_FUNCTION</code> (that's what in the <code>tuna-gpio-keykad.kcm</code> |
| file we see mentioned above).</li> |
| </ul> |
| |
| <h3 id="input-reader-state">Input Reader State</h3> |
| <p>The <code>InputReader</code> is responsible for decoding input events from the kernel. |
| Its state dump shows information about how each input device is configured |
| and recent state changes that have occurred, such as key presses or touches on |
| the touch screen.</p> |
| |
| <p>As an example, this is what a special function keypad looks like:</p> |
| |
| <pre> |
| Input Reader State |
| ... |
| Device 3: tuna-gpio-keypad |
| IsExternal: false |
| Sources: 0x00000101 |
| KeyboardType: 1 |
| Keyboard Input Mapper: |
| Parameters: |
| AssociatedDisplayId: -1 |
| OrientationAware: false |
| KeyboardType: 1 |
| Orientation: 0 |
| KeyDowns: 0 keys currently down |
| MetaState: 0x0 |
| DownTime: 75816923828000 |
| </pre> |
| |
| <p>Here is a touch screen. Notice all of the information about the resolution of |
| the device and the calibration parameters that were used.</p> |
| |
| <pre> |
| Input Reader State |
| ... |
| Device 6: Melfas MMSxxx Touchscreen |
| IsExternal: false |
| Sources: 0x00001002 |
| KeyboardType: 0 |
| Motion Ranges: |
| X: source=0x00001002, min=0.000, max=719.001, flat=0.000, fuzz=0.999 |
| Y: source=0x00001002, min=0.000, max=1279.001, flat=0.000, fuzz=0.999 |
| PRESSURE: source=0x00001002, min=0.000, max=1.000, flat=0.000, fuzz=0.000 |
| SIZE: source=0x00001002, min=0.000, max=1.000, flat=0.000, fuzz=0.000 |
| TOUCH_MAJOR: source=0x00001002, min=0.000, max=1468.605, flat=0.000, fuzz=0.000 |
| TOUCH_MINOR: source=0x00001002, min=0.000, max=1468.605, flat=0.000, fuzz=0.000 |
| TOOL_MAJOR: source=0x00001002, min=0.000, max=1468.605, flat=0.000, fuzz=0.000 |
| TOOL_MINOR: source=0x00001002, min=0.000, max=1468.605, flat=0.000, fuzz=0.000 |
| Touch Input Mapper: |
| Parameters: |
| GestureMode: spots |
| DeviceType: touchScreen |
| AssociatedDisplay: id=0, isExternal=false |
| OrientationAware: true |
| Raw Touch Axes: |
| X: min=0, max=720, flat=0, fuzz=0, resolution=0 |
| Y: min=0, max=1280, flat=0, fuzz=0, resolution=0 |
| Pressure: min=0, max=255, flat=0, fuzz=0, resolution=0 |
| TouchMajor: min=0, max=30, flat=0, fuzz=0, resolution=0 |
| TouchMinor: unknown range |
| ToolMajor: unknown range |
| ToolMinor: unknown range |
| Orientation: unknown range |
| Distance: unknown range |
| TiltX: unknown range |
| TiltY: unknown range |
| TrackingId: min=0, max=65535, flat=0, fuzz=0, resolution=0 |
| Slot: min=0, max=9, flat=0, fuzz=0, resolution=0 |
| Calibration: |
| touch.size.calibration: diameter |
| touch.size.scale: 10.000 |
| touch.size.bias: 0.000 |
| touch.size.isSummed: false |
| touch.pressure.calibration: amplitude |
| touch.pressure.scale: 0.005 |
| touch.orientation.calibration: none |
| touch.distance.calibration: none |
| SurfaceWidth: 720px |
| SurfaceHeight: 1280px |
| SurfaceOrientation: 0 |
| Translation and Scaling Factors: |
| XScale: 0.999 |
| YScale: 0.999 |
| XPrecision: 1.001 |
| YPrecision: 1.001 |
| GeometricScale: 0.999 |
| PressureScale: 0.005 |
| SizeScale: 0.033 |
| OrientationCenter: 0.000 |
| OrientationScale: 0.000 |
| DistanceScale: 0.000 |
| HaveTilt: false |
| TiltXCenter: 0.000 |
| TiltXScale: 0.000 |
| TiltYCenter: 0.000 |
| TiltYScale: 0.000 |
| Last Button State: 0x00000000 |
| Last Raw Touch: pointerCount=0 |
| Last Cooked Touch: pointerCount=0 |
| </pre> |
| |
| <p>Here is an external keyboard / mouse combo HID device. (This device doesn't actually |
| have a mouse but its HID descriptor says it does.)</p> |
| |
| <pre><code> Device 7: Motorola Bluetooth Wireless Keyboard |
| IsExternal: true |
| Sources: 0x00002103 |
| KeyboardType: 2 |
| Motion Ranges: |
| X: source=0x00002002, min=0.000, max=719.000, flat=0.000, fuzz=0.000 |
| Y: source=0x00002002, min=0.000, max=1279.000, flat=0.000, fuzz=0.000 |
| PRESSURE: source=0x00002002, min=0.000, max=1.000, flat=0.000, fuzz=0.000 |
| VSCROLL: source=0x00002002, min=-1.000, max=1.000, flat=0.000, fuzz=0.000 |
| Keyboard Input Mapper: |
| Parameters: |
| AssociatedDisplayId: -1 |
| OrientationAware: false |
| KeyboardType: 2 |
| Orientation: 0 |
| KeyDowns: 0 keys currently down |
| MetaState: 0x0 |
| DownTime: 75868832946000 |
| Cursor Input Mapper: |
| Parameters: |
| AssociatedDisplayId: 0 |
| Mode: pointer |
| OrientationAware: false |
| XScale: 1.000 |
| YScale: 1.000 |
| XPrecision: 1.000 |
| YPrecision: 1.000 |
| HaveVWheel: true |
| HaveHWheel: false |
| VWheelScale: 1.000 |
| HWheelScale: 1.000 |
| Orientation: 0 |
| ButtonState: 0x00000000 |
| Down: false |
| DownTime: 0 |
| </code></pre> |
| <p>Here is a joystick. Notice how all of the axes have been scaled to a normalized |
| range. The axis mapping can be configured using key layout files.</p> |
| <pre><code>Device 18: Logitech Logitech Cordless RumblePad 2 |
| IsExternal: true |
| Sources: 0x01000511 |
| KeyboardType: 1 |
| Motion Ranges: |
| X: source=0x01000010, min=-1.000, max=1.000, flat=0.118, fuzz=0.000 |
| Y: source=0x01000010, min=-1.000, max=1.000, flat=0.118, fuzz=0.000 |
| Z: source=0x01000010, min=-1.000, max=1.000, flat=0.118, fuzz=0.000 |
| RZ: source=0x01000010, min=-1.000, max=1.000, flat=0.118, fuzz=0.000 |
| HAT_X: source=0x01000010, min=-1.000, max=1.000, flat=0.000, fuzz=0.000 |
| HAT_Y: source=0x01000010, min=-1.000, max=1.000, flat=0.000, fuzz=0.000 |
| Keyboard Input Mapper: |
| Parameters: |
| AssociatedDisplayId: -1 |
| OrientationAware: false |
| KeyboardType: 1 |
| Orientation: 0 |
| KeyDowns: 0 keys currently down |
| MetaState: 0x0 |
| DownTime: 675270841000 |
| Joystick Input Mapper: |
| Axes: |
| X: min=-1.00000, max=1.00000, flat=0.11765, fuzz=0.00000 |
| scale=0.00784, offset=-1.00000, highScale=0.00784, highOffset=-1.00000 |
| rawAxis=0, rawMin=0, rawMax=255, rawFlat=15, rawFuzz=0, rawResolution=0 |
| Y: min=-1.00000, max=1.00000, flat=0.11765, fuzz=0.00000 |
| scale=0.00784, offset=-1.00000, highScale=0.00784, highOffset=-1.00000 |
| rawAxis=1, rawMin=0, rawMax=255, rawFlat=15, rawFuzz=0, rawResolution=0 |
| Z: min=-1.00000, max=1.00000, flat=0.11765, fuzz=0.00000 |
| scale=0.00784, offset=-1.00000, highScale=0.00784, highOffset=-1.00000 |
| rawAxis=2, rawMin=0, rawMax=255, rawFlat=15, rawFuzz=0, rawResolution=0 |
| RZ: min=-1.00000, max=1.00000, flat=0.11765, fuzz=0.00000 |
| scale=0.00784, offset=-1.00000, highScale=0.00784, highOffset=-1.00000 |
| rawAxis=5, rawMin=0, rawMax=255, rawFlat=15, rawFuzz=0, rawResolution=0 |
| HAT_X: min=-1.00000, max=1.00000, flat=0.00000, fuzz=0.00000 |
| scale=1.00000, offset=0.00000, highScale=1.00000, highOffset=0.00000 |
| rawAxis=16, rawMin=-1, rawMax=1, rawFlat=0, rawFuzz=0, rawResolution=0 |
| HAT_Y: min=-1.00000, max=1.00000, flat=0.00000, fuzz=0.00000 |
| scale=1.00000, offset=0.00000, highScale=1.00000, highOffset=0.00000 |
| rawAxis=17, rawMin=-1, rawMax=1, rawFlat=0, rawFuzz=0, rawResolution=0 |
| </code></pre> |
| <p>At the end of the input reader dump there is some information about global configuration |
| parameters such as the mouse pointer speed.</p> |
| <pre><code> Configuration: |
| ExcludedDeviceNames: [] |
| VirtualKeyQuietTime: 0.0ms |
| PointerVelocityControlParameters: scale=1.000, lowThreshold=500.000, highThreshold=3000.000, acceleration=3.000 |
| WheelVelocityControlParameters: scale=1.000, lowThreshold=15.000, highThreshold=50.000, acceleration=4.000 |
| PointerGesture: |
| Enabled: true |
| QuietInterval: 100.0ms |
| DragMinSwitchSpeed: 50.0px/s |
| TapInterval: 150.0ms |
| TapDragInterval: 300.0ms |
| TapSlop: 20.0px |
| MultitouchSettleInterval: 100.0ms |
| MultitouchMinDistance: 15.0px |
| SwipeTransitionAngleCosine: 0.3 |
| SwipeMaxWidthRatio: 0.2 |
| MovementSpeedRatio: 0.8 |
| ZoomSpeedRatio: 0.3 |
| </code></pre> |
| <h4 id="things-to-look-for_1">Things To Look For</h4> |
| <ol> |
| <li> |
| <p>All of the expected input devices are present.</p> |
| </li> |
| <li> |
| <p>Each input device has been configured appropriately. Especially check the |
| touch screen and joystick axes.</p> |
| </li> |
| </ol> |
| <h3 id="input-dispatcher-state">Input Dispatcher State</h3> |
| <p>The <code>InputDispatcher</code> is responsible for sending input events to applications. |
| Its state dump shows information about which window is being touched, the |
| state of the input queue, whether an ANR is in progress, and so on.</p> |
| <pre> |
| Input Dispatcher State: |
| DispatchEnabled: 1 |
| DispatchFrozen: 0 |
| FocusedApplication: <null> |
| FocusedWindow: name='Window{3fb06dc3 u0 StatusBar}' |
| TouchStates: <no displays touched> |
| Windows: |
| 0: name='Window{357bbbfe u0 SearchPanel}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01820100, type=0x000007e8, layer=211000, frame=[0,0][1080,1920], scale=1.000000, touchableRegion=[0,0][1080,1920], inputFeatures=0x00000000, ownerPid=22674, ownerUid=10020, dispatchingTimeout=5000.000ms |
| 1: name='Window{3b14c0ca u0 NavigationBar}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01840068, type=0x000007e3, layer=201000, frame=[0,1776][1080,1920], scale=1.000000, touchableRegion=[0,1776][1080,1920], inputFeatures=0x00000000, ownerPid=22674, ownerUid=10020, dispatchingTimeout=5000.000ms |
| 2: name='Window{2c7e849c u0 com.vito.lux}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=true, canReceiveKeys=false, flags=0x0089031a, type=0x000007d6, layer=191000, frame=[-495,-147][1575,1923], scale=1.000000, touchableRegion=[-495,-147][1575,1923], inputFeatures=0x00000000, ownerPid=4697, ownerUid=10084, dispatchingTimeout=5000.000ms |
| 3: name='Window{31c9f22 u0 Heads Up}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01820328, type=0x000007de, layer=161000, frame=[0,0][1794,750], scale=1.000000, touchableRegion=[0,0][1794,192], inputFeatures=0x00000000, ownerPid=22674, ownerUid=10020, dispatchingTimeout=5000.000ms |
| 4: name='Window{3fb06dc3 u0 StatusBar}', displayId=0, paused=false, hasFocus=true, hasWallpaper=false, visible=true, canReceiveKeys=true, flags=0x81960040, type=0x000007d0, layer=151000, frame=[0,0][1080,1920], scale=1.000000, touchableRegion=[0,0][1080,1920], inputFeatures=0x00000004, ownerPid=22674, ownerUid=10020, dispatchingTimeout=5000.000ms |
| 5: name='Window{278c1d65 u0 KeyguardScrim}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01110900, type=0x000007ed, layer=131000, frame=[0,0][1080,1776], scale=1.000000, touchableRegion=[0,0][1080,1776], inputFeatures=0x00000000, ownerPid=745, ownerUid=1000, dispatchingTimeout=5000.000ms |
| 6: name='Window{869f213 u0 com.android.systemui.ImageWallpaper}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=true, canReceiveKeys=false, flags=0x00000318, type=0x000007dd, layer=21025, frame=[0,0][2328,1920], scale=1.000000, touchableRegion=[0,0][2328,1920], inputFeatures=0x00000000, ownerPid=22674, ownerUid=10020, dispatchingTimeout=5000.000ms |
| 7: name='Window{16ab6320 u0 InputMethod}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01800108, type=0x000007db, layer=21020, frame=[0,75][1080,1920], scale=1.000000, touchableRegion=[0,986][1080,1920], inputFeatures=0x00000000, ownerPid=8409, ownerUid=10056, dispatchingTimeout=5000.000ms |
| 8: name='Window{cf4ff0b u0 com.google.android.googlequicksearchbox/com.google.android.launcher.GEL}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x81910120, type=0x00000001, layer=21015, frame=[0,0][1080,1920], scale=1.000000, touchableRegion=[0,0][1080,1920], inputFeatures=0x00000000, ownerPid=14722, ownerUid=10022, dispatchingTimeout=5000.000ms |
| 9: name='Window{1a7be08a u0 com.android.systemui/com.android.systemui.recents.RecentsActivity EXITING}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x81910120, type=0x00000001, layer=21010, frame=[0,0][1080,1920], scale=1.000000, touchableRegion=[0,0][1080,1920], inputFeatures=0x00000000, ownerPid=22674, ownerUid=10020, dispatchingTimeout=5000.000ms |
| 10: name='Window{2280455f u0 com.google.android.gm/com.google.android.gm.ConversationListActivityGmail}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x81810120, type=0x00000001, layer=21005, frame=[0,0][1080,1920], scale=1.000000, touchableRegion=[0,0][1080,1920], inputFeatures=0x00000000, ownerPid=9897, ownerUid=10070, dispatchingTimeout=5000.000ms |
| 11: name='Window{657fee5 u0 com.mobilityware.freecell/com.mobilityware.freecell.FreeCell}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01810520, type=0x00000001, layer=21000, frame=[0,0][1080,1776], scale=1.000000, touchableRegion=[0,0][1080,1920], inputFeatures=0x00000000, ownerPid=3189, ownerUid=10085, dispatchingTimeout=5000.000ms |
| MonitoringChannels: |
| 0: 'WindowManager (server)' |
| RecentQueue: length=10 |
| MotionEvent(deviceId=4, source=0x00001002, action=2, flags=0x00000000, metaState=0x00000000, buttonState=0x00000000, edgeFlags=0x00000000, xPrecision=1.0, yPrecision=1.0, displayId=0, pointers=[0: (335.0, 1465.0)]), policyFlags=0x62000000, age=217264.0ms |
| MotionEvent(deviceId=4, source=0x00001002, action=1, flags=0x00000000, metaState=0x00000000, buttonState=0x00000000, edgeFlags=0x00000000, xPrecision=1.0, yPrecision=1.0, displayId=0, pointers=[0: (335.0, 1465.0)]), policyFlags=0x62000000, age=217255.7ms |
| MotionEvent(deviceId=4, source=0x00001002, action=0, flags=0x00000000, metaState=0x00000000, buttonState=0x00000000, edgeFlags=0x00000000, xPrecision=1.0, yPrecision=1.0, displayId=0, pointers=[0: (330.0, 1283.0)]), policyFlags=0x62000000, age=216805.0ms |
| MotionEvent(deviceId=4, source=0x00001002, action=2, flags=0x00000000, metaState=0x00000000, buttonState=0x00000000, edgeFlags=0x00000000, xPrecision=1.0, yPrecision=1.0, displayId=0, pointers=[0: (330.0, 1287.0)]), policyFlags=0x62000000, age=216788.3ms |
| MotionEvent(deviceId=4, source=0x00001002, action=2, flags=0x00000000, metaState=0x00000000, buttonState=0x00000000, edgeFlags=0x00000000, xPrecision=1.0, yPrecision=1.0, displayId=0, pointers=[0: (331.0, 1297.0)]), policyFlags=0x62000000, age=216780.0ms |
| MotionEvent(deviceId=4, source=0x00001002, action=2, flags=0x00000000, metaState=0x00000000, buttonState=0x00000000, edgeFlags=0x00000000, xPrecision=1.0, yPrecision=1.0, displayId=0, pointers=[0: (332.0, 1316.0)]), policyFlags=0x62000000, age=216771.6ms |
| MotionEvent(deviceId=4, source=0x00001002, action=2, flags=0x00000000, metaState=0x00000000, buttonState=0x00000000, edgeFlags=0x00000000, xPrecision=1.0, yPrecision=1.0, displayId=0, pointers=[0: (333.0, 1340.0)]), policyFlags=0x62000000, age=216763.3ms |
| MotionEvent(deviceId=4, source=0x00001002, action=2, flags=0x00000000, metaState=0x00000000, buttonState=0x00000000, edgeFlags=0x00000000, xPrecision=1.0, yPrecision=1.0, displayId=0, pointers=[0: (333.0, 1362.0)]), policyFlags=0x62000000, age=216755.0ms |
| MotionEvent(deviceId=4, source=0x00001002, action=2, flags=0x00000000, metaState=0x00000000, buttonState=0x00000000, edgeFlags=0x00000000, xPrecision=1.0, yPrecision=1.0, displayId=0, pointers=[0: (332.0, 1384.0)]), policyFlags=0x62000000, age=216747.2ms |
| MotionEvent(deviceId=4, source=0x00001002, action=1, flags=0x00000000, metaState=0x00000000, buttonState=0x00000000, edgeFlags=0x00000000, xPrecision=1.0, yPrecision=1.0, displayId=0, pointers=[0: (332.0, 1384.0)]), policyFlags=0x62000000, age=216738.9ms |
| PendingEvent: <none> |
| InboundQueue: <empty> |
| ReplacedKeys: <empty> |
| Connections: |
| 0: channelName='WindowManager (server)', windowName='monitor', status=NORMAL, monitor=true, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| 1: channelName='278c1d65 KeyguardScrim (server)', windowName='Window{278c1d65 u0 KeyguardScrim}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| 2: channelName='357bbbfe SearchPanel (server)', windowName='Window{357bbbfe u0 SearchPanel}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| 3: channelName='869f213 com.android.systemui.ImageWallpaper (server)', windowName='Window{869f213 u0 com.android.systemui.ImageWallpaper}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| 4: channelName='3fb06dc3 StatusBar (server)', windowName='Window{3fb06dc3 u0 StatusBar}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| 5: channelName='2c7e849c (server)', windowName='Window{2c7e849c u0 com.vito.lux}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| 6: channelName='cf4ff0b com.google.android.googlequicksearchbox/com.google.android.launcher.GEL (server)', windowName='Window{cf4ff0b |
| u0 com.google.android.googlequicksearchbox/com.google.android.launcher.GEL}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| 7: channelName='2280455f com.google.android.gm/com.google.android.gm.ConversationListActivityGmail (server)', windowName='Window{2280455f u0 com.google.android.gm/com.google.android.gm.ConversationListActivityGmail}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| 8: channelName='1a7be08a com.android.systemui/com.android.systemui.recents.RecentsActivity (server)', windowName='Window{1a7be08a u0 com.android.systemui/com.android.systemui.recents.RecentsActivity EXITING}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| 9: channelName='3b14c0ca NavigationBar (server)', windowName='Window{3b14c0ca u0 NavigationBar}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| 10: channelName='16ab6320 InputMethod (server)', windowName='Window{16ab6320 u0 InputMethod}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| 11: channelName='657fee5 com.mobilityware.freecell/com.mobilityware.freecell.FreeCell (server)', windowName='Window{657fee5 u0 com.mobilityware.freecell/com.mobilityware.freecell.FreeCell}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| 12: channelName='31c9f22 Heads Up (server)', windowName='Window{31c9f22 u0 Heads Up}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| AppSwitch: not pending |
| 7: channelName='2280455f com.google.android.gm/com.google.android.gm.ConversationListActivityGmail (server)', windowName='Window{2280455f u0 com.google.android.gm/com.google.android.gm.ConversationListActivityGmail}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| 8: channelName='1a7be08a com.android.systemui/com.android.systemui.recents.RecentsActivity (server)', windowName='Window{1a7be08a u0 com.android.systemui/com.android.systemui.recents.RecentsActivity EXITING}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| 9: channelName='3b14c0ca NavigationBar (server)', windowName='Window{3b14c0ca u0 NavigationBar}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| 10: channelName='16ab6320 InputMethod (server)', windowName='Window{16ab6320 u0 InputMethod}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| 11: channelName='657fee5 com.mobilityware.freecell/com.mobilityware.freecell.FreeCell (server)', windowName='Window{657fee5 u0 com.mobilityware.freecell/com.mobilityware.freecell.FreeCell}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| 12: channelName='31c9f22 Heads Up (server)', windowName='Window{31c9f22 u0 Heads Up}', status=NORMAL, monitor=false, inputPublisherBlocked=false |
| OutboundQueue: <empty> |
| WaitQueue: <empty> |
| AppSwitch: not pending |
| Configuration: |
| KeyRepeatDelay: 50.0ms |
| KeyRepeatTimeout: 500.0ms |
| </pre> |
| <h4 id="things-to-look-for_2">Things To Look For</h4> |
| <ol> |
| <li> In general, all input events are being processed as expected. </li> |
| <li> If you touch the touch screen and run dumpsys at the same time, |
| then the <code>TouchStates</code> line should show the window that |
| you are touching. </li> |
| </ol> |
| |