Dumpsys Input Diagnostics

The dumpsys input command dumps the state of the system’s input devices, such as keyboards and touchscreens, and the processing of input events.

Input


To dump the input system’s state, run the following command:

$ adb shell dumpsys input

Output


The set of information reported varies depending on the version of Android but consists of three sections:

  • Event Hub State
  • Input Reader State
  • Input Dispatcher State

Event Hub State

INPUT MANAGER (dumpsys input)

Event Hub State:  BuiltInKeyboardId: -2  Devices:    -1: Virtual      Classes: 0x40000023      Path:       Descriptor: a718a782d34bc767f4689c232d64d527998ea7fd      Location:      ControllerNumber: 0      UniqueId:       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

Things to check

  • All of the expected input devices are present.
  • 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.
  • Each input device is being classified correctly. The bits in the Classes field correspond to flags in EventHub.h such as INPUT_DEVICE_CLASS_TOUCH_MT.
  • The BuiltInKeyboardId is correct. If the device does not have a built-in keyboard, then the id must be -2, otherwise it should be the id of the built-in keyboard.
  • If you observe that the BuiltInKeyboardId is not -2 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 type SPECIAL_FUNCTION (that's what in the tuna-gpio-keykad.kcm file we see mentioned above).

Input Reader State

The InputReader 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.

As an example, this is what a special function keypad looks like:

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

Here is a touch screen. Notice all of the information about the resolution of the device and the calibration parameters that were used.

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

Here is an external keyboard / mouse combo HID device. (This device doesn't actually have a mouse but its HID descriptor says it does.)

  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

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.

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

At the end of the input reader dump there is some information about global configuration parameters such as the mouse pointer speed.

  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

Things To Look For

  1. All of the expected input devices are present.

  2. Each input device has been configured appropriately. Especially check the touch screen and joystick axes.

Input Dispatcher State

The InputDispatcher 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.

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

Things To Look For

  1. In general, all input events are being processed as expected.
  2. If you touch the touch screen and run dumpsys at the same time, then the TouchStates line should show the window that you are touching.

Dumpsys Input Diagnostics相关推荐

  1. Android dumpsys input详解

    (用华为P30带你看安卓) 简介:华为P30,Android 9.0(API 28) 如果你在从事安卓的开发,如果你苦于看不懂android 的输入逻辑,如果你想找到更好Android 调试工具,那么 ...

  2. adb shell dumpsys input

    1 需求 2 语法 3 示例 4 参考资料

  3. timeview未就绪_android input anr分析

    input 系统 input系统涉及的源码主要有 (libinputflinger.so)frameworks/native/services/inputflinger/ - InputDispatc ...

  4. 20161214_namelist.input说明

    namelist.input 第一部分 这部分参数仅用于由真实大气方案的预处理程序产生的输入数据     &time_control 说明 理解 run_days = 0, 模式运行时长,例如 ...

  5. 【Android】带你细看Android input系统中ANR的机制

    "本文基于Android13源码,分析Input系统的Anr实现原理" 在文章之前,先提几个问题: 如果在activity任意周期(onCreate,onResume等),同步执行 ...

  6. Systrace之 input 解读

    和你一起终身学习,这里是程序员 Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 一.input 概述 二.input in Systrace ...

  7. 【Android】dumpsys

    dumpsys是一个在安卓设备上运行的工具,提供关于系统服务的信息.使用安卓调试桥(ADB)从命令行调用dumpsys,以获得连接设备上运行的所有系统服务的诊断输出. 这个输出通常比你想要的更粗略,所 ...

  8. Systrace6 Input 解读

    一 概述 本文是 Systrace 系列文章的第六篇,主要是对 Systrace 中的 Input 进行简单介绍,介绍其 Input 的流程: Systrace 中 Input 信息的体现 ,以及如何 ...

  9. dumpsys 命令总结

    dumpsys 命令总结 常用命令 常用命令 Adb shell dumpsys –l 查看dumpsys的列表 Adb shell dumpsys :默认答应出当前系统所有service信息,在后面 ...

最新文章

  1. 另一个.java文件调用_java - 如何调用另一个类“写文件”的方法? - SO中文参考 - www.soinside.com...
  2. sql中小数位四舍五入控制
  3. C++使用thread类多线程编程
  4. Maven配置JDK编译版本
  5. Python从入门到入土-Python3 File(文件) 方法
  6. 方钢管弹性模量计算方式_箱形系梁贝雷支架受力计算书
  7. 10分钟了解分布式CAP、BASE理论
  8. 计算机中丢失xapofx1 5.dll,xapofx1 5 dll丢失怎么办_系统提示xapofx1 5 dll丢失的解决方法...
  9. Shell编程:shell script 的追踪与 debug
  10. MTK 驱动(20)--- camera 相机启动时间优化
  11. 惠普第八代游戏家族产品重磅首发,搭载英特尔第十二代酷睿处理器
  12. SMB、FTP、DNS、等六个服务总结
  13. 数据库级别的MD5加密(建议收藏)
  14. 算法--职前算法复习
  15. MATPOWER快速上手及应用实例
  16. 静态测试和动态测试相关知识点
  17. 【电磁】Matlab模拟电机内电磁场的分布附GUI界面
  18. 卡尔曼滤波器原理简介
  19. Simulink的S函数仿真一阶RL和二阶RLC电路电路
  20. Chess.com:象棋社区网站每月访问量达 2.8 亿,年收入在 5000 万至 1 亿之间

热门文章

  1. pos机改造迷你打印机_小票打印机如何自动弹出钱箱
  2. 关于滑轮组的计算机知识点,初中物理:滑轮及滑轮组知识点总结
  3. [Ext JS ]3.4 数字输入框 numberfield
  4. 1.5 本地库与中央库
  5. 牙齿间隙变大怎么办_牙齿缝隙大怎么办 5个方法解决牙齿缝隙大
  6. mysql中如何迁移数据文件,迁移mysql数据文件存放位置
  7. java 度量_Java度量方法调用率
  8. Minio 报错bucket name does not follow Amazon S3 standards
  9. Spring Cloud的Eureka Server(注册中心)在程序启动的时候报错:Cannot execute request on any known server
  10. 设计模式之工厂模式(工厂方法模式 和 抽象工厂模式)