termux / termux-x11

Termux X11 add-on application.
https://termux.dev
GNU General Public License v3.0
2.14k stars 314 forks source link

Will there ever be a version to function with German external keyboards? #387

Closed xaverm closed 1 year ago

xaverm commented 1 year ago

I've been testing new versions from this repo for several months now ... many really nice improvements!

But the 1st and foremost thing one would like to do, i.e., type in stuff into desktop apps from an external keyboard - which is a K810 with German layout in my case - has never ever worked for me, regarding the complete symbol set. I've tried myriads of combinations of Android internal standard keyboards, xfce keyboard settings, and termux-x11 preferences. It just won't work. At the end there are always a few keys remaining, that function incorrect, if at all.

If in principle termux-x11 is not only meant for people with US system localization US keyboards, then it might of great help for potential users, if on termux-x11 repo's front page there would be a description for some tested and working setups using some typical external keyboards with international layouts (obviously including a German one ;) )

twaik commented 1 year ago

There are two options for using German layout.

  1. Termux-x11 with Prefer scancodes when possible and DE with german layout set with setxkbmap or with DE settings.
  2. Using text field of additional key bar (swipe it to the right). It is possible to switch extra key bar with three-finger swipe down or with volume down key (with enabled preference of cource).
RalfWerner commented 1 year ago

I am still testing too and in 54 I will describe my knowledge in comparison to 1.02.04 when I'm done.

I have a question about the problem here:

  1. I found the choice Prefer scancodes when possible, just no instructions for occupancy the buttons
  2. The EK (additional key bar) are on the screen and an input would then have to be made by constantly changing between external KB and this EK. I replaced END/HOME-Key (should be symbols as in 1.02.04) by [] to check.

I make a little video with the often used german keys 7089 and toggle keys (shift/altgr) to get {}[] () It is displayed here xterm with fluxbox, whereby the Taskbar is covered by EK - that was better at 1.02.04!

xaverm commented 1 year ago

@twaik There are two options for using German layout.

I'm sorry, but even if this request was closed, I beg to differ.

1. Termux-x11 with `Prefer scancodes when possible` and DE with german layout set with `setxkbmap` or with DE settings.

Before posting I certainly tested (also) the Prefer scancodes when possible preference setting. For me, this option does not work. Let me describe:

The closest I can get to a working external (Logitech K810) DE keyboard in termux-x11 is (i) using the Prefer scancodes when possible settings, (ii) a German (no dead keys) keyboard layout in xfce4 settings, and (iii) the tablet's manufacturer (Samsung) internal keyboard with German language set as standard keyboard.

But even then, the "<, >, |" key behaves incorrect. I.e. it produces single quotation marks. Even worse, in this situation, the "<, >, |" characters have disappeared from the keyboard completely.

Let me also mention, that it is absolutely confusing, that there seems to be an erratic correlation between the internal keyboard, I mean the soft-keyboard of the Android device, set to be the standard keyboard, and the degree to which the external keyboard will eventually function with termux-x11. I.e., say, a 'Hackers keyboard' set to 'Standard' will lead to less correct keys than an 'External Keyboard Helper Pro', a.s.o. There should be some statement for users: "You should set your internal soft-keyboard to xyz with abc language". I'm also missing that.

2. Using text field of additional key bar (swipe it to the right). It is possible to switch extra key bar with three-finger swipe down or with volume down key (with enabled preference of course).

Even if this may work (I will test), this is not really a reasonable 'option': Keys like "<, >, |" are bread-n-butter keys for various coding tasks. Your are certainly not suggesting, we should physically switch back and fro on a once-per-second basis between an external keyboard and an on-screen key bar, while working?

Let me just state once more, that with all this hard and fantastic work on termux-x11, it is such a pity that many potential users will be excluded, simply because we cannot properly interface to it.

twaik commented 1 year ago

Let me also mention, that it is absolutely confusing, that there seems to be an erratic correlation between the internal keyboard, I mean the soft-keyboard of the Android device, set to be the standard keyboard, and the degree to which the external keyboard will eventually function with termux-x11. I.e., say, a 'Hackers keyboard' set to 'Standard' will lead to less correct keys than an 'External Keyboard Helper Pro', a.s.o. There should be some statement for users: "You should set your internal soft-keyboard to xyz with abc language". I'm also missing that.

Unfortunately there is no way to achieve better accuracy in getting scancodes on Android devices. You can try to change keyboard maps in /data/data/com.termux/usr/share/X11/xkb or use xmodmap for this.

twaik commented 1 year ago

@agnostic-apollo maybe you know the way to get correct symbols when View.OnKeyListener is applied to SurfaceView? For some reason some keyboards do not send correct symbols and scancodes when SurfaceView is focused.

RalfWerner commented 1 year ago

@xaverm You are right with "Fantastic Work on Termux-X11" by @Twaik. The keys <|> are on my Logitech-BT-KB right next to Shift and Ctrl -so easy to reach. If an XClient does not depend on the implementation of the WM=Window Managers, this can also be done by the key code, which I do in some cases of my own developments.

As I said above, I am not yet finished with my comparison check. The three-finger campaign for EK can also be done by the Vol-Down button. Three finger can also be four or more, which bothers in direct mode, because EK is constantly switched on/off and I can no longer see my taskbar (or anything else is hidden). ...OnKey... by @agnostic-apollo is a good idea! If in return he takes over the Fullscreen function of x11 in app, both APK profit of it :)

agnostic-apollo commented 1 year ago

If hardware keyboard or android is sending wrong keycodes, then an app cannot just guess the correct keycodes. The user would have to define a mapping somehow. You can try looking into custom keyboard layouts.

https://github.com/termux/termux-app/pull/2237#issuecomment-906028913

twaik commented 1 year ago

If hardware keyboard or android is sending wrong keycodes, then an app cannot just guess the correct keycodes.

xaverm says that keycodes/scancodes sent by Android depend on current IME. For some reasons IME behaviour when it sends events to SurfaceView differs from behaviour when it sends events to EditText. Is there a way to make it behave the same way?

agnostic-apollo commented 1 year ago

I haven't looked into how android behaves internally but there is indeed some influence of the soft keyboard on the hardware keyboard. For termux-app, it gets solved by disabling the software keyboard for the activity. I don't know if this applies to termux-x11.

https://github.com/termux/termux-app/issues/3265

https://github.com/termux/termux-app/blob/master/app/src/main/java/com/termux/app/terminal/TermuxTerminalViewClient.java#L537

https://github.com/termux/termux-app/blob/master/termux-shared/src/main/java/com/termux/shared/view/KeyboardUtils.java#L81

https://developer.android.com/reference/android/view/WindowManager.LayoutParams#FLAG_ALT_FOCUSABLE_IM

twaik commented 1 year ago

I think a problem appears because SurfaceView is not recognised as a text editor. When I set german layout on my phone it sends hardware keyboard events corresponding to english layout. Is there a way to override this behaviour?

agnostic-apollo commented 1 year ago

I assume you mean Language and Input -> Physical keyboards -> Specific Keyboard -> Set up keyboard layouts. If you setup German as the language and switch to it with ctrl+space, then on an english QWERTY keyboard, the letter y should type z for the german layout since it should default t to QWERTZ.

The layouts listed are provided by individual apps, which mainly may be the default system keyboard or gboard, etc. Like Japanese 109A is provided by gboard for me and all others by Android keyboard.

Gboard also prevents language change of even the softkeyboard with the earth key and says to use ctrl+space if a hardware keyboard is connected, so there is some additional inter-linkage.

If layout change is not working for you, then could be your device bug.

https://xiaomi.eu/community/threads/change-physical-keyboard-layout.60396/

I think a problem appears because SurfaceView is not recognised as a text editor.

You may try overriding View.onCreateInputConnection() like termux does and implement it properly, but hardware keyboard events are generally not sent to commitText().

https://developer.android.com/reference/android/view/View#onCreateInputConnection(android.view.inputmethod.EditorInfo)

https://github.com/termux/termux-app/blob/v0.118.0/terminal-view/src/main/java/com/termux/view/TerminalView.java#L258

xaverm commented 1 year ago

@agnostic-apollo

If hardware keyboard or android is sending wrong keycodes, then an app cannot just guess the correct keycodes.

In post on keyboard issues in termux-x11, I occasionally read similar statements. I just never understand what to make out of them.

1) Regarding the 1st part, i.e., that the "hardware keyboard might be sending wrong keycodes": Every external keyboard can be hooked up onto a "real" linux machine and be tested with xev for what keycodes it emits. Certainly, before bugging people with posts on keyboard issues, I do test that my external keyboard does work flawlessly on common linux boxes. I also did that before posting here. So once again: The Logitech K810 DE keyboard works like a charm on any linux machine I've ever used it on and xev show that it emits proper keycodes on those machines for the key which I have mentioned here, i.e., the <>| key.

That is why I am posting here, and that is why I am asking for when termux-x11 might eventually also work with external DE keyboards.

2) Regarding the 2nd part, i.e., your statement that "android might be sending wrong keycodes": Can you pls. explain, how an average-ball-cap-user can determine if this issue is indeed happening(?), and even more so how to fix it without screwing up once Android device?

Finally one less related thing:

twaik commented 1 year ago

Every external keyboard can be hooked up onto a "real" linux machine and be tested with xev for what keycodes it emits.

I can not force keyboard mapping to replace symbols. It seems like there are some different "wrong keycodes" sent on different devices and different IME.

xaverm commented 1 year ago

Every external keyboard can be hooked up onto a "real" linux machine and be tested with xev for what keycodes it emits.

I can not force keyboard mapping to replace symbols. It seems like there are some different "wrong keycodes" sent on different devices and different IME.

So you are suggesting, that there will be certain Android devices and certain IMEs which will just not allow termux-x11 to be used with DE external keyboards?

While this is beyond me, it would certainly be a grim perspective. Hopefully you will find a solution down the line. I'll keep my fingers crossed.

twaik commented 1 year ago

There is a hope that android sends right symbols to InputConnection so I'll be able to intercept them and override symbols I get from KeyEvent.

RalfWerner commented 1 year ago

In the standard termux terminal app all is fine hier means @xaverm.

I cannot confirm that except for one (SM-A33) of my 5 Android devices. If I use an ssh terminal, a TeamViewer connection or a scrcpy copy of the device on my Win-PC, the 9=6+3 buttons (above{[]}()+<|>) are correctly reproduced above. However, if I try coupling the KB with Bluetooth, I am also wrong in the termux app with 4 devices. In all cases I use the newest version 0.118.0+d7bab73. With regard to x11 there are all 5 wrong.

xaverm commented 1 year ago

In the standard termux terminal app all is fine

I cannot confirm that except for one (SM-A33)

Weird?

But anyway, this is a plain termux issue for you then, and not a termux-x11 issue, as for me. For me and for many years and on several different Samsung tablets (currently SM-X906B), using Logitech and Pearl external DE bluetooth keyboards has never caused a single glitch for any key. And since I mainly use termux for typing math documents with Emacs and LaTeX on the go, you can rest assured that practically any crazy combination of all possible symbol keys on the keyboard arise while typing.

I'd like to have this functionality also on termux-x11 + xfce4 running. That's why I'm posting here ... and maybe @twaik can get it done.

RalfWerner commented 1 year ago

The development of the app is operated by @agnostic-apollo and x11 by @twaik . If the two can agree on common functions in the two APK and that works correctly on all devices would be helped.

My Samsung Pad is an SM-P610 with stylus. Unfortunately, even without a chance to use my BT keyboard Logitech K370/K375-DE for the 9=6+3 keys. Only my SM-A33-5G cell phone and only app is ok.

But we also have different XClients as the goal. I try to develop "WM-free ones", that work exclusively with fingers on a small display. The detours described above to use my BT-KB, are also ok for me and on the Pad I use often pop view for both apps on one display, which leads to double EK but only one On-Screen-KB. Here also the two APK do not work well together.

agnostic-apollo commented 1 year ago

Regarding the 1st part, i.e., that the "hardware keyboard might be sending wrong keycodes":

This situation is less likely for decent brands but termux app does have at least one fix for this situation.

https://github.com/termux/termux-app/commit/913c474d32db136308d87e7504b9f0fea5ca2353

Regarding the 2nd part, i.e., your statement that "android might be sending wrong keycodes":

This can happen too, depending on the key character map files that are installed in the /system partition of the android build. Different vendors could have their own specific mappings for regions, etc. Then there is also the user selecting a layout that is not "desired" or correct in android language and input settings. Accessibility services may also filter but not modify key events (also done by x11).

https://source.android.com/docs/core/interaction/input/key-character-map-files

https://developer.android.com/reference/android/accessibilityservice/AccessibilityService#onKeyEvent(android.view.KeyEvent)

https://github.com/termux/termux-x11/blob/690bd929fcf75f2117b522f8a1dd92f737be63d2/app/src/main/java/com/termux/x11/utils/KeyInterceptor.java#L29

Can you pls. explain, how an average-ball-cap-user can determine if this issue is indeed happening(?),

Normal apps have no control over such preprocessing before events are delivered. For termux app at least, you can enable Terminal View Key Logging in termux app settings and then run logcat command in terminal to see the events being received.

https://github.com/termux/termux-app#debugging

https://github.com/termux/termux-app/blob/v0.118.0/terminal-view/src/main/java/com/termux/view/TerminalView.java#L701

x11 seems to log codes too.

https://github.com/termux/termux-x11/blob/690bd929fcf75f2117b522f8a1dd92f737be63d2/app/src/main/cpp/lorie/android.c#L458

All the issues my external keyboard has are only within termux-x11. In the standard termux terminal app all is fine. Sigh.

Then issue is with x11 app and you shouldn't have to fix anything. x11 app will need fixing. But then again ralf is getting issues on both.

Termux terminal overrides onKeyUp and onKeyDown for hardware events instead of onKey via View.OnKeyListener, although may not make a difference if handled properly.

https://github.com/termux/termux-x11/blob/690bd929fcf75f2117b522f8a1dd92f737be63d2/app/src/main/java/com/termux/x11/MainActivity.java#L152

https://github.com/termux/termux-app/blob/6e2689f55295fa444be8ac8592c527c2c5ef3253/terminal-view/src/main/java/com/termux/view/TerminalView.java#L602

You could still play around with custom layouts as mentioned in https://github.com/termux/termux-app/pull/2237#issuecomment-906028913.

https://github.com/ris58h/custom-keyboard-layout

https://github.com/abbeyanke/se_sv_dvorak

https://stackoverflow.com/questions/7846050/difference-between-onkey-onkeydown-and-dispatchkeyevent-methods-provided

twaik commented 1 year ago

It is pretty much weird. When I set German (CH) layout on my phone it sends events of external keyboard correctly, but if I set Schwiizerdütsch it sends events of last selected layout (russian in my case). The same situation happens to EditText, not only LorieView.

@agnostic-apollo I tried to override onCreateInputConnection method. It sends correct symbols to InputConnection.commitText() method, but when I am typing with external keyboard it sends regular KeyEvents and does not invoke any InputConnection's methods.

agnostic-apollo commented 1 year ago

Are you using Ctrl + space to switch to correct layout?

Its' not going to, it's meant for soft keyboard events, hardware keyboard events are normally only sent to onKey*() methods, other than possible bugs https://github.com/termux/termux-app/issues/3265

twaik commented 1 year ago

Are you using Ctrl + space to switch to correct layout?

Yes.

Its' not going to, it's meant for soft keyboard events, hardware keyboard events are normally only sent to onKey*()

I've set OnKeyListener on my view so it is catching all possible events.

agnostic-apollo commented 1 year ago

I meant commitText() is ideally not gonna be called for hardware events.

https://developer.android.com/develop/ui/views/touch-and-input/creating-input-method#HardwareKeyEvents

https://developer.android.com/develop/ui/views/touch-and-input/keyboard-input/commands

Note that termux calls KeyEvent.getUnicodeChar() for the event and also handles dead keys. Read the javadocs for onKeyDown() I have added.

https://developer.android.com/reference/android/view/KeyEvent#getUnicodeChar(int)

https://github.com/termux/termux-app/blob/v0.118.0/terminal-view/src/main/java/com/termux/view/TerminalView.java#L747

https://stackoverflow.com/questions/44981729/differentiating-text-keycode-from-control-keycode-in-android-keyevent

twaik commented 1 year ago

I am using KeyEvent.getUnicodeChar() in key handling function here. But it still happens.

agnostic-apollo commented 1 year ago

Does it happen in termux app?

twaik commented 1 year ago

I am not sure. I did not check thi since I do not speak any languages which alphabet uses dead keys.

agnostic-apollo commented 1 year ago

If everyone could just use ASCII, that would be great, make all our lives so much easier.

twaik commented 1 year ago

Also weird thing. When I hold AltGr+LeftAlt and trying to send ä key or ö Android simply does not send KeyEvent. It is pretty sad...

agnostic-apollo commented 1 year ago

Maybe your or some other accessibility service is messing things up, turn them off. Also dumpsys input should print your keyboard config and getevent should print events.

https://source.android.com/docs/core/interaction/input/getevent

https://stackoverflow.com/questions/12280657/does-anyone-know-what-the-output-from-getevent-means

twaik commented 1 year ago

Maybe your or some other accessibility service is messing things up, turn them off.

I did not enable any.

Also dumpsys input should print your keyboard config

``` INPUT MANAGER (dumpsys input) Input properties: persist.input.velocitytracker.strategy = default Input Manager State: Interactive: false InteractiveInternalDisplay: false System UI Lights Out: true Pointer Speed: 0 Pointer Acceleration: 3.000 Pointer Gestures Enabled: true Show Touches: false Pointer Capture: Disabled, seq=0 System UI Lights Out on Dex: false DeX Mode: 0 DeX DisplayType: -1 VirtualTouchpad: false VirtualTouchpadType: 0 VirtualTouchpadRegion: LimitCoordinateY: -1.000 Show All Touches: false xdpi: 272.955 ydpi: 270.933 Show Hovering: false Pen Hovering: false KisMode: false Primary Mouse Button Location: 0 Scroll speed: 1 Use mouse acceleration: true Mouse button behavior(S/T/B/F): (1/3/7/4) Force Hide Cursor: false Multi Control out of focus: false Event Hub State: BuiltInKeyboardId: -2 Devices: 21: Classes: CURSOR | EXTERNAL Path: /dev/input/event6 Enabled: true Descriptor: 7160d84618ef844cedbce657f1846696d71909ca Location: ControllerNumber: 0 UniqueId: Identifier: bus=0x0003, vendor=0xffff, product=0xffff, version=0x0000 KeyLayoutFile: KeyCharacterMapFile: ConfigurationFile: VideoDevice: 20: Classes: KEYBOARD | ALPHAKEY | EXTERNAL Path: /dev/input/event5 Enabled: true Descriptor: e0a64cf073fe65701d1f13bc0b96bd55bed4f6d6 Location: ControllerNumber: 0 UniqueId: Identifier: bus=0x0003, vendor=0xffff, product=0xffff, version=0x0000 KeyBitmask: (0:fffffffe) (32:ffffffff) (64:1cfffff) (96:e080ffdf) KeyLayoutFile: /system/usr/keylayout/Generic.kl KeyCharacterMapFile: /system/usr/keychars/Generic.kcm ConfigurationFile: VideoDevice: 1: mtk-tpd Classes: KEYBOARD | TOUCH | TOUCH_MT Path: /dev/input/event4 Enabled: true Descriptor: 84931e976ab60191371c1c95baf408538ca4c4c5 Location: ControllerNumber: 0 UniqueId: Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000 KeyBitmask: (128:8000) (320:400) KeyLayoutFile: /system/usr/keylayout/Generic_internal.kl KeyCharacterMapFile: /system/usr/keychars/Generic.kcm ConfigurationFile: VideoDevice: 2: sardsi_irq Classes: KEYBOARD Path: /dev/input/event2 Enabled: true Descriptor: dcb7453b43365f0adbf5add703a9f50f5a51f71a Location: ControllerNumber: 0 UniqueId: Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000 KeyBitmask: (736:c000) KeyLayoutFile: /system/usr/keylayout/Generic_internal.kl KeyCharacterMapFile: /system/usr/keychars/Generic.kcm ConfigurationFile: VideoDevice: 3: mt-snd-card Headset Jack Classes: KEYBOARD | SWITCH Path: /dev/input/event3 Enabled: true Descriptor: 87c4378ff4077a7e39b84c778d87c1c8d1390a88 Location: ALSA ControllerNumber: 0 UniqueId: Identifier: bus=0x0019, vendor=0x0000, product=0x0000, version=0x0000 KeyBitmask: (96:c0000) (224:04) (576:40) KeyLayoutFile: /system/usr/keylayout/Generic_internal.kl KeyCharacterMapFile: /system/usr/keychars/Generic.kcm ConfigurationFile: VideoDevice: -1: Virtual Classes: KEYBOARD | ALPHAKEY | DPAD | VIRTUAL Path: Enabled: true Descriptor: a718a782d34bc767f4689c232d64d527998ea7fd Location: ControllerNumber: 0 UniqueId: Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000 KeyBitmask: KeyLayoutFile: /system/usr/keylayout/Generic_internal.kl KeyCharacterMapFile: /system/usr/keychars/Virtual.kcm ConfigurationFile: VideoDevice: 4: mtk-pmic-keys Classes: KEYBOARD Path: /dev/input/event1 Enabled: true Descriptor: 485d69228e24f5e46da1598745890b214130dbc4 Location: ControllerNumber: 0 UniqueId: Identifier: bus=0x0019, vendor=0x0001, product=0x0001, version=0x0001 KeyBitmask: (96:140000) KeyLayoutFile: /system/usr/keylayout/Generic_internal.kl KeyCharacterMapFile: /system/usr/keychars/Generic.kcm ConfigurationFile: VideoDevice: 5: mtk-kpd Classes: KEYBOARD Path: /dev/input/event0 Enabled: true Descriptor: f0d2e427e7a05eb6d316f5e14800c5ac7b6aee79 Location: ControllerNumber: 0 UniqueId: Identifier: bus=0x0019, vendor=0x2454, product=0x6500, version=0x0010 KeyBitmask: (96:80000) KeyLayoutFile: /system/usr/keylayout/Generic_internal.kl KeyCharacterMapFile: /system/usr/keychars/Generic.kcm ConfigurationFile: VideoDevice: Unattached video devices: Input Reader State (Nums of device: 8): Device 18: EventHub Devices: [ 21 ] Generation: 472 IsExternal: true AssociatedDisplayPort: AssociatedDisplayUniqueId: HasMic: false Sources: 0x00002002 KeyboardType: 0 ControllerNum: 0 Motion Ranges: X: source=0x00002002, min=0.000, max=719.000, flat=0.000, fuzz=0.000, resolution=0.000 Y: source=0x00002002, min=0.000, max=1599.000, flat=0.000, fuzz=0.000, resolution=0.000 PRESSURE: source=0x00002002, min=0.000, max=1.000, flat=0.000, fuzz=0.000, resolution=0.000 VSCROLL: source=0x00002002, min=-1.000, max=1.000, flat=0.000, fuzz=0.000, resolution=0.000 Cursor Input Mapper: Parameters: HasAssociatedDisplay: true 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: 1909625164017000 Device 17: EventHub Devices: [ 20 ] Generation: 471 IsExternal: true AssociatedDisplayPort: AssociatedDisplayUniqueId: HasMic: false Sources: 0x00000101 KeyboardType: 2 ControllerNum: 0 Keyboard Input Mapper: Parameters: OrientationAware: false HandlesKeyRepeat: false NeedChangeKeyCode: false KeyboardType: 2 Orientation: 0 KeyDowns: 2 keys currently down (scancode=56, downTime=1909664402861000) (scancode=100, downTime=1909664402861000) MetaState: 0x32 DownTime: 1909683090453000 Device 6: mtk-tpd EventHub Devices: [ 1 ] Generation: 473 IsExternal: false AssociatedDisplayPort: AssociatedDisplayUniqueId: HasMic: false Sources: 0x00001103 KeyboardType: 1 ControllerNum: 0 Motion Ranges: X: source=0x00001002, min=0.000, max=719.000, flat=0.000, fuzz=0.000, resolution=0.000 Y: source=0x00001002, min=0.000, max=1599.000, flat=0.000, fuzz=0.000, resolution=0.000 PRESSURE: source=0x00001002, min=0.000, max=1.000, flat=0.000, fuzz=0.000, resolution=0.000 SIZE: source=0x00001002, min=0.000, max=1.000, flat=0.000, fuzz=0.000, resolution=0.000 TOUCH_MAJOR: source=0x00001002, min=0.000, max=1754.537, flat=0.000, fuzz=0.000, resolution=0.000 TOUCH_MINOR: source=0x00001002, min=0.000, max=1754.537, flat=0.000, fuzz=0.000, resolution=0.000 TOOL_MAJOR: source=0x00001002, min=0.000, max=1754.537, flat=0.000, fuzz=0.000, resolution=0.000 TOOL_MINOR: source=0x00001002, min=0.000, max=1754.537, flat=0.000, fuzz=0.000, resolution=0.000 Keyboard Input Mapper: Parameters: OrientationAware: false HandlesKeyRepeat: false NeedChangeKeyCode: false KeyboardType: 1 Orientation: 0 KeyDowns: 0 keys currently down MetaState: 0x0 DownTime: 0 Touch Input Mapper (mode - DIRECT): Parameters: GestureMode: MULTI_TOUCH DeviceType: TOUCH_SCREEN AssociatedDisplay: hasAssociatedDisplay=true, isExternal=false, displayId='' OrientationAware: true Orientation: ORIENTATION_0 Raw Touch Axes: X: min=0, max=720, flat=0, fuzz=0, resolution=0 Y: min=0, max=1600, flat=0, fuzz=0, resolution=0 Pressure: min=0, max=255, flat=0, fuzz=0, resolution=0 TouchMajor: min=0, max=100, flat=0, fuzz=0, resolution=0 TouchMinor: min=0, max=100, flat=0, fuzz=0, resolution=0 ToolMajor: unknown range ToolMinor: unknown range Orientation: unknown range Distance: unknown range TiltX: unknown range TiltY: unknown range TrackingId: min=0, max=10, flat=0, fuzz=0, resolution=0 Slot: min=0, max=9, flat=0, fuzz=0, resolution=0 Calibration: touch.size.calibration: GEOMETRIC touch.pressure.calibration: physical touch.orientation.calibration: none touch.distance.calibration: none touch.coverage.calibration: none Affine Transformation: X scale: 1.000 X ymix: 0.000 X offset: 0.000 Y xmix: 0.000 Y scale: 1.000 Y offset: 0.000 Viewport INTERNAL: displayId=0, uniqueId=local:0, port=0, orientation=0, logicalFrame=[0, 0, 720, 1600], physicalFrame=[0, 0, 720, 1600], deviceSize=[720, 1600], isActive=[0] DisplayWidth: 720px DisplayHeight: 1600px PhysicalWidth: 720px PhysicalHeight: 1600px PhysicalLeft: 0 PhysicalTop: 0 InputDeviceOrientation: 0 Translation and Scaling Factors: XScale: 0.999 YScale: 0.999 XPrecision: 1.001 YPrecision: 1.001 GeometricScale: 0.999 PressureScale: 0.004 SizeScale: 0.010 OrientationScale: 0.000 DistanceScale: 0.000 HaveTilt: false TiltXCenter: 0.000 TiltXScale: 0.000 TiltYCenter: 0.000 TiltYScale: 0.000 Last Raw Button State: 0x00000000 Last Raw Touch: pointerCount=0 Last Cooked Button State: 0x00000000 Last Cooked Touch: pointerCount=0 Stylus Fusion: ExternalStylusConnected: false External Stylus ID: -1 External Stylus Data Timeout: 9223372036854775807 External Stylus State: When: 9223372036854775807 Pressure: 0.000000 Button State: 0x00000000 Tool Type: 0 DPI x: 0.000, y: 0.000 Multi Touch Input Mapper: Slot 0: inUse=false, x= 375, y= 683, trackingId= 482, touchMajor= 0, pressure= 1, toolType=0, grip=0, palm=0 Slot 1: inUse=false, x= 344, y= 952, trackingId= 480, touchMajor= 0, pressure= 2, toolType=0, grip=0, palm=0 Slot 2: inUse=false, x= 575, y= 766, trackingId= 481, touchMajor= 0, pressure= 2, toolType=0, grip=0, palm=0 Slot 3: inUse=false, x= 577, y= 676, trackingId= 473, touchMajor= 0, pressure= 4, toolType=0, grip=0, palm=0 Slot 4: inUse=false, x= 0, y= 0, trackingId= -1, touchMajor= 0, pressure= 0, toolType=0, grip=0, palm=0 Slot 5: inUse=false, x= 0, y= 0, trackingId= -1, touchMajor= 0, pressure= 0, toolType=0, grip=0, palm=0 Slot 6: inUse=false, x= 0, y= 0, trackingId= -1, touchMajor= 0, pressure= 0, toolType=0, grip=0, palm=0 Slot 7: inUse=false, x= 0, y= 0, trackingId= -1, touchMajor= 0, pressure= 0, toolType=0, grip=0, palm=0 Slot 8: inUse=false, x= 0, y= 0, trackingId= -1, touchMajor= 0, pressure= 0, toolType=0, grip=0, palm=0 Slot 9: inUse=false, x= 0, y= 0, trackingId= -1, touchMajor= 0, pressure= 0, toolType=0, grip=0, palm=0 PalmBit = 0x0 Device 5: sardsi_irq EventHub Devices: [ 2 ] Generation: 15 IsExternal: false AssociatedDisplayPort: AssociatedDisplayUniqueId: HasMic: false Sources: 0x00000101 KeyboardType: 1 ControllerNum: 0 Keyboard Input Mapper: Parameters: OrientationAware: false HandlesKeyRepeat: false NeedChangeKeyCode: false KeyboardType: 1 Orientation: 0 KeyDowns: 0 keys currently down MetaState: 0x0 DownTime: 0 Device 4: mt-snd-card Headset Jack EventHub Devices: [ 3 ] Generation: 12 IsExternal: false AssociatedDisplayPort: AssociatedDisplayUniqueId: HasMic: false Sources: 0x80000101 KeyboardType: 1 ControllerNum: 0 Switch Input Mapper: SwitchValues: 0 SwitchValid: d4 Keyboard Input Mapper: Parameters: OrientationAware: false HandlesKeyRepeat: false NeedChangeKeyCode: false KeyboardType: 1 Orientation: 0 KeyDowns: 0 keys currently down MetaState: 0x0 DownTime: 0 Device 3: mtk-pmic-keys EventHub Devices: [ 4 ] Generation: 9 IsExternal: false AssociatedDisplayPort: AssociatedDisplayUniqueId: HasMic: false Sources: 0x00000101 KeyboardType: 1 ControllerNum: 0 Keyboard Input Mapper: Parameters: OrientationAware: false HandlesKeyRepeat: false NeedChangeKeyCode: false KeyboardType: 1 Orientation: 0 KeyDowns: 0 keys currently down MetaState: 0x0 DownTime: 1909982051361000 Device 2: mtk-kpd EventHub Devices: [ 5 ] Generation: 6 IsExternal: false AssociatedDisplayPort: AssociatedDisplayUniqueId: HasMic: false Sources: 0x00000101 KeyboardType: 1 ControllerNum: 0 Keyboard Input Mapper: Parameters: OrientationAware: false HandlesKeyRepeat: false NeedChangeKeyCode: false KeyboardType: 1 Orientation: 0 KeyDowns: 0 keys currently down MetaState: 0x0 DownTime: 0 Device -1: Virtual EventHub Devices: [ -1 ] Generation: 3 IsExternal: false AssociatedDisplayPort: AssociatedDisplayUniqueId: HasMic: false Sources: 0x00000301 KeyboardType: 2 ControllerNum: 0 Keyboard Input Mapper: Parameters: OrientationAware: false HandlesKeyRepeat: false NeedChangeKeyCode: false KeyboardType: 2 Orientation: 0 KeyDowns: 0 keys currently down MetaState: 0x0 DownTime: 0 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: 5.0px SwipeTransitionAngleCosine: 0.3 SwipeMaxWidthRatio: 0.2 MovementSpeedRatio: 0.8 ZoomSpeedRatio: 0.3 pointerGestureRightClickSetInterval: 150.0ms TapActionInterval: 20.0ms TapMoveInterval: 300.0ms TapMoveSlop: 15.0px Viewports: Viewport INTERNAL: displayId=0, uniqueId=local:0, port=0, orientation=0, logicalFrame=[0, 0, 720, 1600], physicalFrame=[0, 0, 720, 1600], deviceSize=[720, 1600], isActive=[0] Cover State: Verifier type: none, Verified: false Cover type: -1, Front: opened, Back: detached Test mode enabled: false, type: -1 Front state change time: 0 Glove mode enabled: false UnwantedInteractionBlocker: mPreferStylusOverTouchBlocker: mActiveStyli: {} mLastTouchEvents: mDevicesWithMixedToolType: {} mCanceledDevices: {} mEnablePalmRejection: false isPalmRejectionEnabled (flag value): false mPalmRejectors: None Input Classifier State: Motion Classifier: Input Dispatcher State: DispatchEnabled: true DispatchFrozen: false InputFilterEnabled: false FocusedDisplayId: 0 FocusedApplications: displayId=0, name='ActivityRecord{79339f3 u0 com.termux.x11/.MainActivity} t5709}', dispatchingTimeout=10000ms FocusedWindows: displayId=0, name='491cfcf NotificationShade' FocusRequests: displayId=0, name='491cfcf NotificationShade' result='OK' Pointer Capture Requested: false Current Window with Pointer Capture: None TouchStates: Display: 0 logicalSize=720x1600 transform (ROT_0) (IDENTITY) Windows: 0: name='ColorFade BLAST_d0#25954', id=25954, displayId=0, inputConfig=NO_INPUT_CHANNEL, alpha=1.00, frame=[0,0][720,1600], globalScale=1.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=, pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=5000ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 1: name='[Gesture Monitor] PalmMotion', id=84, displayId=0, inputConfig=NOT_FOCUSABLE | TRUSTED_OVERLAY | SPY, alpha=1.00, frame=[0,0][0,0], globalScale=1.000000, samsungFlags=0x0, applicationInfo.name=[Gesture Monitor] PalmMotion, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=10000ms, hasToken=true, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 2: name='10d0c42 NavigationBar0', id=78, displayId=0, inputConfig=NOT_VISIBLE | NOT_FOCUSABLE | TRUSTED_OVERLAY | WATCH_OUTSIDE_TOUCH | SLIPPERY, alpha=1.00, frame=[0,1600][720,1690], globalScale=1.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[0,1600][720,1690], pTouchableRegion=, 1HXY=[0.0, 0.0, 1.000], ownerPid=1624, ownerUid=10045, dispatchingTimeout=10000ms, hasToken=true, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (TRANSLATE) 1.0000 -0.0000 0.0000 -0.0000 1.0000 -1600.0000 0.0000 0.0000 1.0000 3: name='491cfcf NotificationShade', id=25956, displayId=0, inputConfig=TRUSTED_OVERLAY | WATCH_OUTSIDE_TOUCH | DISABLE_USER_ACTIVITY, alpha=1.00, frame=[0,0][720,1600], globalScale=1.000000, samsungFlags=0x40000, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-720,-1600][1440,3200], pTouchableRegion=, 1HXY=[0.0, 0.0, 1.000], ownerPid=1624, ownerUid=10045, dispatchingTimeout=10000ms, hasToken=true, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 4: name='d24d3db StatusBar', id=83, displayId=0, inputConfig=NOT_FOCUSABLE | PREVENT_SPLITTING | TRUSTED_OVERLAY, alpha=1.00, frame=[0,0][720,49], globalScale=1.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[0,0][720,49], pTouchableRegion=, 1HXY=[0.0, 0.0, 1.000], ownerPid=1624, ownerUid=10045, dispatchingTimeout=10000ms, hasToken=true, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 5: name='recents_animation_input_consumer', id=100, displayId=0, inputConfig=NOT_VISIBLE | TRUSTED_OVERLAY, alpha=1.00, frame=[0,0][720,1600], globalScale=1.000000, samsungFlags=0x0, applicationInfo.name=recents_animation_input_consumer, applicationInfo.token=0xb400006ebf148c20, touchableRegion=[0,0][720,1600], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=10000ms, hasToken=true, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 6: name='a5a9462 ActivityRecordInputSink com.termux.x11/.MainActivity', id=25942, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE | NOT_FOCUSABLE, alpha=1.00, frame=[0,0][0,0], globalScale=0.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=0ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 7: name='6526d56 ActivityRecordInputSink com.termux/.app.TermuxActivity', id=13603, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE | NOT_FOCUSABLE | NOT_TOUCHABLE, alpha=1.00, frame=[0,0][0,0], globalScale=0.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=0ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 8: name='6275fbb ActivityRecordInputSink com.samsung.android.calendar/com.samsung.android.app.calendar.activity.MainActivity', id=8584, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE | NOT_FOCUSABLE | NOT_TOUCHABLE, alpha=1.00, frame=[0,0][0,0], globalScale=0.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=0ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 9: name='a3c0b58 ActivityRecordInputSink com.google.chromeremotedesktop/org.chromium.chromoting.Chromoting', id=7034, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE | NOT_FOCUSABLE | NOT_TOUCHABLE, alpha=1.00, frame=[0,0][0,0], globalScale=0.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=0ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 10: name='a9c932 ActivityRecordInputSink org.pocketworkstation.pckeyboard/.Main', id=9308, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE | NOT_FOCUSABLE | NOT_TOUCHABLE, alpha=1.00, frame=[0,0][0,0], globalScale=0.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=0ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 11: name='ac70f77 ActivityRecordInputSink com.android.chrome/org.chromium.chrome.browser.ChromeTabbedActivity', id=16736, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE | NOT_FOCUSABLE | NOT_TOUCHABLE, alpha=1.00, frame=[0,0][0,0], globalScale=0.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=0ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 12: name='d3363b0 ActivityRecordInputSink com.sec.android.app.launcher/com.android.launcher3.uioverrides.QuickstepLauncher', id=109, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE | NOT_FOCUSABLE | NOT_TOUCHABLE, alpha=1.00, frame=[0,0][0,0], globalScale=0.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=0ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 13: name='Wallpaper BBQ wrapper#77', id=77, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE, alpha=1.00, frame=[-439,0][1160,1600], globalScale=1.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=, pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1624, ownerUid=10045, dispatchingTimeout=5000ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (TRANSLATE) 1.0000 -0.0000 440.0000 -0.0000 1.0000 0.0000 0.0000 0.0000 1.0000 14: name='8aec8f6 com.android.systemui.ImageWallpaper', id=76, displayId=0, inputConfig=NOT_VISIBLE | NOT_FOCUSABLE | NOT_TOUCHABLE | PREVENT_SPLITTING | IS_WALLPAPER, alpha=1.00, frame=[-439,0][-439,0], globalScale=1.000000, samsungFlags=0x8, applicationInfo.name=, applicationInfo.token=, touchableRegion=, pTouchableRegion=, 1HXY=[0.0, 0.0, 1.000], ownerPid=1624, ownerUid=10045, dispatchingTimeout=10000ms, hasToken=true, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (TRANSLATE) 1.0000 -0.0000 440.0000 -0.0000 1.0000 0.0000 0.0000 0.0000 1.0000 Global monitors on display 0: 0: 'PointerEventDispatcher0 (server)', RecentQueue: length=10 MotionEvent, age=826165ms MotionEvent, age=826148ms KeyEvent, age=825872ms MotionEvent, age=825864ms MotionEvent, age=825714ms KeyEvent, age=825707ms MotionEvent, age=825681ms DeviceResetEvent(deviceId=6), policyFlags=0x00000000, age=825171ms FocusEvent(hasFocus=false), age=824981ms FocusEvent(hasFocus=true), age=824356ms PendingEvent: InboundQueue: ReplacedKeys: CommandQueue: Connections: 814: channelName='6cfb9ba com.termux.x11/com.termux.x11.MainActivity (server)', windowName='6cfb9ba com.termux.x11/com.termux.x11.MainActivity (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 634: channelName='b07206e InputMethod (server)', windowName='b07206e InputMethod (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 845: channelName='897c131 com.termux/com.termux.app.TermuxActivity (server)', windowName='897c131 com.termux/com.termux.app.TermuxActivity (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 668: channelName='491cfcf NotificationShade (server)', windowName='491cfcf NotificationShade (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 661: channelName='10d0c42 NavigationBar0 (server)', windowName='10d0c42 NavigationBar0 (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 674: channelName='d24d3db StatusBar (server)', windowName='d24d3db StatusBar (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 636: channelName='8aec8f6 com.android.systemui.ImageWallpaper (server)', windowName='8aec8f6 com.android.systemui.ImageWallpaper (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 681: channelName='[Gesture Monitor] PalmMotion (server)', windowName='[Gesture Monitor] PalmMotion (server)', filter=0x 1, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 820: channelName='recents_animation_input_consumer (server)', windowName='recents_animation_input_consumer (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 259: channelName='PointerEventDispatcher0 (server)', windowName='PointerEventDispatcher0 (server)', filter=0xffff, status=NORMAL, monitor=true, responsive=true OutboundQueue: WaitQueue: 666: channelName='53110fc LockscreenShortcutBlur (server)', windowName='53110fc LockscreenShortcutBlur (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 823: channelName='ab6d10f com.sec.android.app.launcher/com.sec.android.app.launcher.activities.LauncherActivity (server)', windowName='ab6d10f com.sec.android.app.launcher/com.sec.android.app.launcher.activities.LauncherActivity (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 584: channelName='85ae6e9 ShellDropTarget (server)', windowName='85ae6e9 ShellDropTarget (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: AppSwitch: not pending Configuration: KeyRepeatDelay: 50ms KeyRepeatTimeout: 400ms LatencyTracker: mTimelines.size() = 6 mEventTimes.size() = 6 LatencyAggregator: Sketches: mDownSketches[0]->num_values = 334 size = 0.4KB mMoveSketches[0]->num_values = 19666 size = 1.4KB mDownSketches[1]->num_values = 85 size = 0.1KB mMoveSketches[1]->num_values = 1656 size = 0.9KB mDownSketches[2]->num_values = 85 size = 0.1KB mMoveSketches[2]->num_values = 1656 size = 1.0KB mDownSketches[3]->num_values = 85 size = 0.1KB mMoveSketches[3]->num_values = 1656 size = 1.5KB mDownSketches[4]->num_values = 85 size = 0.2KB mMoveSketches[4]->num_values = 1656 size = 1.7KB mDownSketches[5]->num_values = 85 size = 0.2KB mMoveSketches[5]->num_values = 1656 size = 1.7KB mDownSketches[6]->num_values = 85 size = 0.2KB mMoveSketches[6]->num_values = 1656 size = 1.7KB mNumSketchEventsProcessed=20000 mLastSlowEventTime=1909504454355887 mNumEventsSinceLastSlowEventReport = 233 mNumSkippedSlowEvents = 1 Input Dispatcher State at time of last ANR: ANR: Time: 2023-07-26 19:05:30 Reason: 14e0e20 com.termux.x11/com.termux.x11.MainActivity (server) is not responding. Waited 10009ms for MotionEvent Window: ActivityRecord{a3e48cd u0 com.termux.x11/.MainActivity} t5471} - 14e0e20 com.termux.x11/com.termux.x11.MainActivity DispatchEnabled: true DispatchFrozen: false InputFilterEnabled: false FocusedDisplayId: 0 FocusedApplications: displayId=0, name='ActivityRecord{a3e48cd u0 com.termux.x11/.MainActivity} t5471}', dispatchingTimeout=10000ms FocusedWindows: displayId=0, name='14e0e20 com.termux.x11/com.termux.x11.MainActivity' FocusRequests: displayId=0, name='14e0e20 com.termux.x11/com.termux.x11.MainActivity' result='OK' Pointer Capture Requested: false Current Window with Pointer Capture: None TouchStates: Display: 0 logicalSize=720x1600 transform (ROT_0) (IDENTITY) Windows: 0: name='[Gesture Monitor] PalmMotion', id=84, displayId=0, inputConfig=NOT_FOCUSABLE | TRUSTED_OVERLAY | SPY, alpha=1.00, frame=[0,0][0,0], globalScale=1.000000, samsungFlags=0x0, applicationInfo.name=[Gesture Monitor] PalmMotion, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=10000ms, hasToken=true, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 1: name='10d0c42 NavigationBar0', id=78, displayId=0, inputConfig=NOT_FOCUSABLE | TRUSTED_OVERLAY | WATCH_OUTSIDE_TOUCH | SLIPPERY, alpha=1.00, frame=[0,1510][720,1600], globalScale=1.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[0,1510][720,1600], pTouchableRegion=, 1HXY=[0.0, 0.0, 1.000], ownerPid=1624, ownerUid=10045, dispatchingTimeout=10000ms, hasToken=true, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (TRANSLATE) 1.0000 -0.0000 0.0000 -0.0000 1.0000 -1510.0000 0.0000 0.0000 1.0000 2: name='d24d3db StatusBar', id=83, displayId=0, inputConfig=NOT_FOCUSABLE | PREVENT_SPLITTING | TRUSTED_OVERLAY, alpha=1.00, frame=[0,0][720,49], globalScale=1.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[0,0][720,49], pTouchableRegion=, 1HXY=[0.0, 0.0, 1.000], ownerPid=1624, ownerUid=10045, dispatchingTimeout=10000ms, hasToken=true, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 3: name='recents_animation_input_consumer', id=100, displayId=0, inputConfig=NOT_VISIBLE | TRUSTED_OVERLAY, alpha=1.00, frame=[0,0][720,1600], globalScale=1.000000, samsungFlags=0x0, applicationInfo.name=recents_animation_input_consumer, applicationInfo.token=0xb400006ebf148c20, touchableRegion=[0,0][720,1600], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=10000ms, hasToken=true, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 4: name='14e0e20 com.termux.x11/com.termux.x11.MainActivity', id=17107, displayId=0, inputConfig=0x0, alpha=1.00, frame=[0,0][720,1600], globalScale=1.000000, samsungFlags=0x0, applicationInfo.name=ActivityRecord{a3e48cd u0 com.termux.x11/.MainActivity} t5471}, applicationInfo.token=0xb400006db71d4470, touchableRegion=[0,0][720,1600], pTouchableRegion=, 1HXY=[0.0, 0.0, 1.000], ownerPid=29708, ownerUid=10303, dispatchingTimeout=10000ms, hasToken=true, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 5: name='SurfaceView[com.termux.x11/com.termux.x11.MainActivity]@0(BLAST)#17111', id=17111, displayId=0, inputConfig=NO_INPUT_CHANNEL, alpha=1.00, frame=[0,49][720,1510], globalScale=1.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=, pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=29708, ownerUid=10303, dispatchingTimeout=5000ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (TRANSLATE) 1.0000 -0.0000 0.0000 -0.0000 1.0000 -49.0000 0.0000 0.0000 1.0000 6: name='6038e64 ActivityRecordInputSink com.termux.x11/.MainActivity', id=17099, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_FOCUSABLE, alpha=1.00, frame=[0,0][0,0], globalScale=0.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=0ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 7: name='b07206e InputMethod', id=17087, displayId=0, inputConfig=NOT_VISIBLE | NOT_FOCUSABLE | TRUSTED_OVERLAY, alpha=1.00, frame=[0,49][720,1600], globalScale=1.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[0,1010][720,1510], pTouchableRegion=, 1HXY=[0.0, 0.0, 1.000], ownerPid=17664, ownerUid=10139, dispatchingTimeout=10000ms, hasToken=true, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (TRANSLATE) 1.0000 -0.0000 0.0000 -0.0000 1.0000 -49.0000 0.0000 0.0000 1.0000 8: name='6526d56 ActivityRecordInputSink com.termux/.app.TermuxActivity', id=13603, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE | NOT_FOCUSABLE | NOT_TOUCHABLE, alpha=1.00, frame=[0,0][0,0], globalScale=0.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=0ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 9: name='cb2e3c6 ActivityRecordInputSink com.android.settings/.applications.InstalledAppDetailsTop', id=9979, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE | NOT_FOCUSABLE | NOT_TOUCHABLE, alpha=1.00, frame=[0,0][0,0], globalScale=0.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=0ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 10: name='6275fbb ActivityRecordInputSink com.samsung.android.calendar/com.samsung.android.app.calendar.activity.MainActivity', id=8584, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE | NOT_FOCUSABLE | NOT_TOUCHABLE, alpha=1.00, frame=[0,0][0,0], globalScale=0.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=0ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 11: name='a3c0b58 ActivityRecordInputSink com.google.chromeremotedesktop/org.chromium.chromoting.Chromoting', id=7034, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE | NOT_FOCUSABLE | NOT_TOUCHABLE, alpha=1.00, frame=[0,0][0,0], globalScale=0.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=0ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 12: name='c14082c ActivityRecordInputSink com.android.settings/.SubSettings', id=6703, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE | NOT_FOCUSABLE | NOT_TOUCHABLE, alpha=1.00, frame=[0,0][0,0], globalScale=0.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=0ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 13: name='6be2f88 ActivityRecordInputSink com.android.settings/.homepage.SettingsHomepageActivity', id=576, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE | NOT_FOCUSABLE | NOT_TOUCHABLE, alpha=1.00, frame=[0,0][0,0], globalScale=0.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=0ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 14: name='a9c932 ActivityRecordInputSink org.pocketworkstation.pckeyboard/.Main', id=9308, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE | NOT_FOCUSABLE | NOT_TOUCHABLE, alpha=1.00, frame=[0,0][0,0], globalScale=0.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=0ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 15: name='ac70f77 ActivityRecordInputSink com.android.chrome/org.chromium.chrome.browser.ChromeTabbedActivity', id=16736, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE | NOT_FOCUSABLE | NOT_TOUCHABLE, alpha=1.00, frame=[0,0][0,0], globalScale=0.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=0ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 16: name='d3363b0 ActivityRecordInputSink com.sec.android.app.launcher/com.android.launcher3.uioverrides.QuickstepLauncher', id=109, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE | NOT_FOCUSABLE | NOT_TOUCHABLE, alpha=1.00, frame=[0,0][0,0], globalScale=0.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=[-7199,-15999][7200,16000], pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1265, ownerUid=1000, dispatchingTimeout=0ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (IDENTITY) 17: name='Wallpaper BBQ wrapper#77', id=77, displayId=0, inputConfig=NO_INPUT_CHANNEL | NOT_VISIBLE, alpha=1.00, frame=[-439,0][1160,1600], globalScale=1.000000, samsungFlags=0x0, applicationInfo.name=, applicationInfo.token=, touchableRegion=, pTouchableRegion=, 1HXY=[0.0, 0.0, 0.000], ownerPid=1624, ownerUid=10045, dispatchingTimeout=5000ms, hasToken=false, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (TRANSLATE) 1.0000 -0.0000 440.0000 -0.0000 1.0000 0.0000 0.0000 0.0000 1.0000 18: name='8aec8f6 com.android.systemui.ImageWallpaper', id=76, displayId=0, inputConfig=NOT_VISIBLE | NOT_FOCUSABLE | NOT_TOUCHABLE | PREVENT_SPLITTING | IS_WALLPAPER, alpha=1.00, frame=[-439,0][-439,0], globalScale=1.000000, samsungFlags=0x8, applicationInfo.name=, applicationInfo.token=, touchableRegion=, pTouchableRegion=, 1HXY=[0.0, 0.0, 1.000], ownerPid=1624, ownerUid=10045, dispatchingTimeout=10000ms, hasToken=true, touchOcclusionMode=BLOCK_UNTRUSTED transform (ROT_0) (TRANSLATE) 1.0000 -0.0000 440.0000 -0.0000 1.0000 0.0000 0.0000 0.0000 1.0000 Global monitors on display 0: 0: 'PointerEventDispatcher0 (server)', RecentQueue: length=10 MotionEvent, age=9495ms MotionEvent, age=9491ms MotionEvent, age=9483ms MotionEvent, age=9474ms MotionEvent, age=9467ms MotionEvent, age=9459ms MotionEvent, age=9450ms MotionEvent, age=9442ms MotionEvent, age=9437ms MotionEvent, age=9408ms PendingEvent: InboundQueue: ReplacedKeys: CommandQueue: Connections: 817: channelName='14e0e20 com.termux.x11/com.termux.x11.MainActivity (server)', windowName='14e0e20 com.termux.x11/com.termux.x11.MainActivity (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=false OutboundQueue: WaitQueue: length=74 MotionEvent, seq=300436, targetFlags=0x00000105, resolvedAction=0, age=10017ms, wait=10013ms MotionEvent, seq=300439, targetFlags=0x00000105, resolvedAction=2, age=10007ms, wait=10005ms MotionEvent, seq=300442, targetFlags=0x00000105, resolvedAction=2, age=10002ms, wait=10001ms MotionEvent, seq=300445, targetFlags=0x00000105, resolvedAction=2, age=9995ms, wait=9993ms MotionEvent, seq=300448, targetFlags=0x00000105, resolvedAction=2, age=9987ms, wait=9985ms MotionEvent, seq=300451, targetFlags=0x00000105, resolvedAction=2, age=9978ms, wait=9976ms MotionEvent, seq=300454, targetFlags=0x00000105, resolvedAction=2, age=9971ms, wait=9969ms MotionEvent, seq=300457, targetFlags=0x00000105, resolvedAction=2, age=9952ms, wait=9950ms MotionEvent, seq=300460, targetFlags=0x00000105, resolvedAction=2, age=9950ms, wait=9947ms MotionEvent, seq=300463, targetFlags=0x00000105, resolvedAction=2, age=9946ms, wait=9945ms MotionEvent, seq=300466, targetFlags=0x00000105, resolvedAction=2, age=9941ms, wait=9938ms MotionEvent, seq=300469, targetFlags=0x00000105, resolvedAction=2, age=9933ms, wait=9931ms MotionEvent, seq=300472, targetFlags=0x00000105, resolvedAction=2, age=9925ms, wait=9923ms MotionEvent, seq=300475, targetFlags=0x00000105, resolvedAction=2, age=9917ms, wait=9915ms MotionEvent, seq=300478, targetFlags=0x00000105, resolvedAction=2, age=9911ms, wait=9909ms MotionEvent, seq=300481, targetFlags=0x00000105, resolvedAction=2, age=9903ms, wait=9901ms MotionEvent, seq=300484, targetFlags=0x00000105, resolvedAction=2, age=9895ms, wait=9893ms MotionEvent, seq=300487, targetFlags=0x00000105, resolvedAction=2, age=9887ms, wait=9885ms MotionEvent, seq=300490, targetFlags=0x00000105, resolvedAction=2, age=9879ms, wait=9877ms MotionEvent, seq=300493, targetFlags=0x00000105, resolvedAction=2, age=9871ms, wait=9869ms MotionEvent, seq=300496, targetFlags=0x00000105, resolvedAction=2, age=9863ms, wait=9861ms MotionEvent, seq=300499, targetFlags=0x00000105, resolvedAction=2, age=9857ms, wait=9855ms MotionEvent, seq=300502, targetFlags=0x00000105, resolvedAction=2, age=9848ms, wait=9847ms MotionEvent, seq=300505, targetFlags=0x00000105, resolvedAction=2, age=9840ms, wait=9838ms MotionEvent, seq=300508, targetFlags=0x00000105, resolvedAction=2, age=9833ms, wait=9831ms MotionEvent, seq=300583, targetFlags=0x00000105, resolvedAction=2, age=9641ms, wait=9639ms MotionEvent, seq=300586, targetFlags=0x00000105, resolvedAction=2, age=9633ms, wait=9631ms MotionEvent, seq=300589, targetFlags=0x00000105, resolvedAction=2, age=9624ms, wait=9622ms MotionEvent, seq=300592, targetFlags=0x00000105, resolvedAction=2, age=9617ms, wait=9615ms MotionEvent, seq=300595, targetFlags=0x00000105, resolvedAction=2, age=9609ms, wait=9607ms MotionEvent, seq=300598, targetFlags=0x00000105, resolvedAction=2, age=9601ms, wait=9599ms MotionEvent, seq=300601, targetFlags=0x00000105, resolvedAction=2, age=9595ms, wait=9593ms MotionEvent, seq=300604, targetFlags=0x00000105, resolvedAction=2, age=9587ms, wait=9585ms MotionEvent, seq=300607, targetFlags=0x00000105, resolvedAction=2, age=9578ms, wait=9577ms MotionEvent, seq=300610, targetFlags=0x00000105, resolvedAction=2, age=9567ms, wait=9565ms MotionEvent, seq=300613, targetFlags=0x00000105, resolvedAction=2, age=9536ms, wait=9535ms MotionEvent, seq=300616, targetFlags=0x00000105, resolvedAction=2, age=9528ms, wait=9526ms MotionEvent, seq=300619, targetFlags=0x00000105, resolvedAction=2, age=9521ms, wait=9519ms MotionEvent, seq=300622, targetFlags=0x00000105, resolvedAction=2, age=9513ms, wait=9511ms MotionEvent, seq=300625, targetFlags=0x00000105, resolvedAction=2, age=9505ms, wait=9503ms MotionEvent, seq=300628, targetFlags=0x00000105, resolvedAction=2, age=9495ms, wait=9494ms MotionEvent, seq=300631, targetFlags=0x00000105, resolvedAction=2, age=9491ms, wait=9489ms MotionEvent, seq=300634, targetFlags=0x00000105, resolvedAction=2, age=9483ms, wait=9481ms MotionEvent, seq=300637, targetFlags=0x00000105, resolvedAction=2, age=9474ms, wait=9473ms MotionEvent, seq=300640, targetFlags=0x00000105, resolvedAction=2, age=9467ms, wait=9465ms MotionEvent, seq=300643, targetFlags=0x00000105, resolvedAction=2, age=9459ms, wait=9457ms MotionEvent, seq=300646, targetFlags=0x00000105, resolvedAction=2, age=9450ms, wait=9449ms MotionEvent, seq=300649, targetFlags=0x00000105, resolvedAction=2, age=9442ms, wait=9440ms MotionEvent, seq=300652, targetFlags=0x00000105, resolvedAction=2, age=9437ms, wait=9435ms MotionEvent, seq=300655, targetFlags=0x00000105, resolvedAction=1, age=9408ms, wait=9405ms 793: channelName='a305772 com.android.chrome/org.chromium.chrome.browser.ChromeTabbedActivity (server)', windowName='a305772 com.android.chrome/org.chromium.chrome.browser.ChromeTabbedActivity (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 634: channelName='b07206e InputMethod (server)', windowName='b07206e InputMethod (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 911: channelName='6410ae5 org.pocketworkstation.pckeyboard/org.pocketworkstation.pckeyboard.Main (server)', windowName='6410ae5 org.pocketworkstation.pckeyboard/org.pocketworkstation.pckeyboard.Main (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 845: channelName='897c131 com.termux/com.termux.app.TermuxActivity (server)', windowName='897c131 com.termux/com.termux.app.TermuxActivity (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 720: channelName='242dd6c com.android.settings/com.android.settings.applications.InstalledAppDetails (server)', windowName='242dd6c com.android.settings/com.android.settings.applications.InstalledAppDetails (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 856: channelName='c3b975b com.samsung.android.calendar/com.samsung.android.app.calendar.activity.MainActivity (server)', windowName='c3b975b com.samsung.android.calendar/com.samsung.android.app.calendar.activity.MainActivity (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 668: channelName='491cfcf NotificationShade (server)', windowName='491cfcf NotificationShade (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 661: channelName='10d0c42 NavigationBar0 (server)', windowName='10d0c42 NavigationBar0 (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 674: channelName='d24d3db StatusBar (server)', windowName='d24d3db StatusBar (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 636: channelName='8aec8f6 com.android.systemui.ImageWallpaper (server)', windowName='8aec8f6 com.android.systemui.ImageWallpaper (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 681: channelName='[Gesture Monitor] PalmMotion (server)', windowName='[Gesture Monitor] PalmMotion (server)', filter=0x 1, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 820: channelName='recents_animation_input_consumer (server)', windowName='recents_animation_input_consumer (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 259: channelName='PointerEventDispatcher0 (server)', windowName='PointerEventDispatcher0 (server)', filter=0xffff, status=NORMAL, monitor=true, responsive=true OutboundQueue: WaitQueue: 666: channelName='53110fc LockscreenShortcutBlur (server)', windowName='53110fc LockscreenShortcutBlur (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 823: channelName='ab6d10f com.sec.android.app.launcher/com.sec.android.app.launcher.activities.LauncherActivity (server)', windowName='ab6d10f com.sec.android.app.launcher/com.sec.android.app.launcher.activities.LauncherActivity (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: 584: channelName='85ae6e9 ShellDropTarget (server)', windowName='85ae6e9 ShellDropTarget (server)', filter=0xffff, status=NORMAL, monitor=false, responsive=true OutboundQueue: WaitQueue: AppSwitch: not pending Configuration: KeyRepeatDelay: 50ms KeyRepeatTimeout: 400ms LatencyTracker: mTimelines.size() = 5 mEventTimes.size() = 5 LatencyAggregator: Sketches: mDownSketches[0]->num_values = 334 size = 0.4KB mMoveSketches[0]->num_values = 19666 size = 1.4KB mDownSketches[1]->num_values = 85 size = 0.1KB mMoveSketches[1]->num_values = 1656 size = 0.9KB mDownSketches[2]->num_values = 85 size = 0.1KB mMoveSketches[2]->num_values = 1656 size = 1.0KB mDownSketches[3]->num_values = 85 size = 0.1KB mMoveSketches[3]->num_values = 1656 size = 1.5KB mDownSketches[4]->num_values = 85 size = 0.2KB mMoveSketches[4]->num_values = 1656 size = 1.7KB mDownSketches[5]->num_values = 85 size = 0.2KB mMoveSketches[5]->num_values = 1656 size = 1.7KB mDownSketches[6]->num_values = 85 size = 0.2KB mMoveSketches[6]->num_values = 1656 size = 1.7KB mNumSketchEventsProcessed=20000 mLastSlowEventTime=1688499012244714 mNumEventsSinceLastSlowEventReport = 54 mNumSkippedSlowEvents = 0 Input Manager Service (Java) State: Gesture Monitors (implemented as spy windows): 0: name='[Gesture Monitor] PalmMotion', inputChannelToken=android.os.BinderProxy@bcf759d displayId=0 mInputSurface=Surface(name=[Gesture Monitor] PalmMotion)/@0x9ebd406 Keyboard Layouts: "English (UK), Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_english_uk "English (US), Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_english_us "English (US), International style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_english_us_intl "English (US), Colemak style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_english_us_colemak "English (US), Dvorak style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_english_us_dvorak "English (US), Workman style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_english_us_workman "German, Qwertz style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_german "French, Azerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_french "French (Canada), Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_french_ca "Russian - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_russian "Russian, Mac style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_russian_mac "Spanish, Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_spanish "Swiss French, Qwertz style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_swiss_french "Swiss German, Qwertz style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_swiss_german "Belgian, Azerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_belgian "Bulgarian - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_bulgarian "Bulgarian, Phonetic - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_bulgarian_phonetic "Italian, Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_italian "Danish, Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_danish "Norwegian, Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_norwegian "Swedish, Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_swedish "Finnish, Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_finnish "Croatian, Qwertz style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_croatian "Czech, Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_czech "Estonian, Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_estonian "Hungarian, Qwertz style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_hungarian "Icelandic, Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_icelandic "Brazilian, Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_brazilian "Portuguese, Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_portuguese "Slovak, Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_slovak "Slovenian, Qwertz style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_slovenian "Turkish, Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_turkish "Turkish F - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_turkish_f "Ukrainian - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_ukrainian "Arabic - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_arabic "Greek - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_greek "Hebrew - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_hebrew "Lithuanian, Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_lithuanian "Spanish (Latin), Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_spanish_latin "Latvian, Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_latvian "Persian - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_persian "Azerbaijani - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_azerbaijani "Polish, Qwerty style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_polish "Belarusian - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_belarusian "Mongolian - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_mongolian "Georgian - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_georgian "Japanese - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_japanese "Czech, Qwertz style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_czech_qwertz "Slovak, Qwertz style - Android keyboard": com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_slovak_qwertz PersistentDataStore mLoaded=true mDirty=false InputDeviceStates: 0: vendor:65535,product:65535 CurrentKeyboardLayout=com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_german UnassociatedKeyboardLayouts=[] Subtype to Layout Mappings: InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=null, mSubtypeId=65537}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_english_us InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=de, mSubtypeId=1048576}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_german InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=de-CH, mSubtypeId=1048632}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_german InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=null, mSubtypeId=3342336}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_russian InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=null, mSubtypeId=4653073}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_english_us InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=null, mSubtypeId=4718592}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_hebrew 1: vendor:1452,product:544 CurrentKeyboardLayout=null UnassociatedKeyboardLayouts=[] Subtype to Layout Mappings: InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=null, mSubtypeId=65537}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_english_us InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=null, mSubtypeId=3342336}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_russian InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=null, mSubtypeId=4521984}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_english_us InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=null, mSubtypeId=4653073}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_english_us InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=null, mSubtypeId=4718592}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_hebrew InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=null, mSubtypeId=4784128}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_persian 2: vendor:1118,product:2087 CurrentKeyboardLayout=com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_english_us UnassociatedKeyboardLayouts=[] Subtype to Layout Mappings: InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=null, mSubtypeId=65537}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_english_us InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=null, mSubtypeId=3342336}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_russian InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=null, mSubtypeId=4521984}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_english_us InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=null, mSubtypeId=4653073}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_english_us InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=null, mSubtypeId=4718592}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_hebrew InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=null, mSubtypeId=4784128}: com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_persian Current IME Handle: InputMethodSubtypeHandle{mInputMethodId=com.samsung.android.honeyboard/.service.HoneyBoardService, mLanguageTag=de-CH, mSubtypeId=1048632} mAvailableInputMethods: {com.samsung.android.honeyboard/.service.HoneyBoardService=[3342336, 1048632, 65537, 4718592]} mBlockDeviceMode=0 ```
twaik commented 1 year ago

Is there a way to implement process-local IME or test IME in process without enabling it globally?

RalfWerner commented 1 year ago

If everyone could just use ASCII, that would be great, make all our lives so much easier.

Not realy, the {[(<|>)]} keys has to positioned on every national KB at the same place! These are important for each programmer.

twaik commented 1 year ago

Not realy, the {[(<>)]} keys has to positioned on every national KB at the same place! These are important for each programmer.

Not really. On russian layout there are Хх(БЮ)ъЪ symbols in place of {[(<>)]}.

twaik commented 1 year ago

@xaverm @RalfWerner Can you please test the latest build with external keyboard?

RalfWerner commented 1 year ago

I used my german BT-KB that can be coupled via Special Keys with up to 3 devices. I connected my AM-A33 to PC by ssh, opened there an aterm, entered 9 keys on the PC (top left), then the KB coupled with the SM-A33 and entered the same 9 keys there and finally "hello" typed. Result:

https://github.com/termux/termux-x11/assets/45426380/14b5cfd9-f799-4760-8978-8635662aa63a

This is done with last artifact (still 1.03.00 but created:‎15. August ‎2023, ‏‎15:12:46). should I try with differend Preferences or with 1.02.04 (ekeys) too?

twaik commented 1 year ago

@RalfWerner I do not really understand what exactly happens on this video and what keys were pressed...

RalfWerner commented 1 year ago

I do not really understand what exactly happens on this video and what keys were pressed...

All Steps decribed in the second sentence!

twaik commented 1 year ago

entered 9 keys

What 9 keys? Did it work as expected or it was wrong?

RalfWerner commented 1 year ago

above! it was wrong!

twaik commented 1 year ago

It was three weeks ago... Ok.

twaik commented 1 year ago

Does it happen with enabled prefer scancodes preference? What keyboard layout is set in your environment (setxkbmap?)?

twaik commented 1 year ago

I've checked prefer scancodes and it works fine with setxkbmap de. It fits to this table.

![image](https://github.com/termux/termux-x11/assets/9674930/d7d6538c-355f-4225-80ea-f1923b11e6af)
RalfWerner commented 1 year ago

Step pkg install xorg-setxkbmap was not done and I've switchoff prefereces, start setxkbmap and than retype the 9 keys :) looks better! @twaik - you are a genius! Your de-KB looks like mine BT-KB, even without preference prefer scancodes. Not correct is the BT-KB on PC and check on scrcpy mirror on PC but that doesn't matter!

RalfWerner commented 1 year ago

In the video:26 above with the short description is in addition to aterm also the WM=fluxbox, which also contains feh --bg. In addition to X -keys, this viewer also processes stdin. Xclient aterm support that actually not. If I start this Xclient by ssh (PC) on my SM-A33, the KB input of the 9 keys (above in the video) on the PC would not have been possible, because Xclient feh would use it alternative to the X-keys. However, since the keyboard is coupled to the PC, xorg-setxkbmap does not have an effect.

The xorg-setxkbmap package should definitely has to be part of OTS and switchoff or removed from the prefereces! I compared this to my other favortite versions basic and ekeys but need some time to complete the comparison, with x11a from which there will some improvement requests.

You don't need to answer here - better in Discord or when I finished comparison with ekeys.

twaik commented 1 year ago

You are using too much too many abbreviations, I had no success in decrypting it...

RalfWerner commented 1 year ago

That doesn't matter! You could follow the links to get more information or check the actions by yourself. Only stdin from feh is relevant on the topic here.

With the rest I will continue to annoy you in #54 when I have done something repeatable. I hope a little more understandable. I've deleted the rest above and added a picture of my BT-keyboard and devices.