-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
USB-C Yubikey device disables on-screen keyboard #1995
Comments
Thanks for the detailed report. The yubikey identifies as a keyboard so that is why termux thinks you are using an external keyboard (and do not need the soft-keyboard). It used to be possible to show the keyboard by pressing keyboard in the left drawer, but this apparently does not work anymore now that I tried it |
Hi @Grimler91, Thanks for the link regarding the Yubikey being identified as a keyboard. As I mentioned in my original report, Termux is the only application I have installed on the device that has this issue with disappearing + not able to return on-screen keyboard. At least, I can not find any other applications. Additionally some applications IF open already when the Yubikey is plugged in, make the keyboard go away. As you mentioned above, it seems like there should be a way to force the Termux on-screen keyboard to open by tapping something within Termux. |
It's weird that it's working for other apps, but when you connect the yubikey and open termux, there might be a notification shown to select input method, it may have a toggle to enable soft keyboard. Or check Language and Input in android settings. Otherwise try following with
|
This isn't a bug in Termux but rather an Android "feature". You need to pull down your navbar and switch back to your default on-screen keyboard from the notification. The Yubikey identifies itself as a keyboard to Android. This happens for me in all apps until I switch back from the notification Edit: status bar, not navbar |
@codebam What is navbar? |
He means the status bar at the top of android UI (navbar is the bottom one). While the keyboard is being used by an app, a notification is shown in the notifications list to |
Related to #1634? |
Can you guys check if 4d1851e solves the issue. The debug build apk is available here. Note that you won't be able to install the apk if you are using F-Droid or Play Store builds. Check https://github.com/termux/termux-app#installation. If you can't reinstall, then wait for new update to be pushed to F-Droid. Thanks. How to reproduce changesPrerequisites:
Termux
Termux artifact:
I have test with Android 7 device with usb otg keyboard and android 11 avd and everything is working as mentioned above. Moreover, now soft keyboard might show when |
Thanks for the answer to:
Toggling only with
I use
What did you use as a second KB in the emulation? The PC-KB has no interaction with the Termux settings for me! |
Well, I have pushed some more commits in order to attempt to fix soft keyboards not opening in some cases. Not sure if this will solve the issue for some specific devices where soft keyboard doesn't open if hardware keyboard is attached, since I can't reproduce that in LG G5 android 7 device and android 10 and 11 AVDs. You can grab the debug build APK from here. If soft keyboard doesn't open automatically, try using the I have also added support for |
Are you trying to show/hide soft keyboard or enable/disable it? Working fine on my AVD, even on previous artifact, even though its behaviour was not changed from
That got broken in previous artifact, should be fixed now.
If hardware keyboard is connected, and
Disabling has been implemented now, check above.
Laptop keyboard as hardware, GBoard/HackerKeybaord as software.
I have no idea what you mean. Termux has no setting for hardware keyboards. |
@agnostic-apollo it works as intended with There's one bug when rotating the screen on my galaxy s8, LOS 17.1, when A logcat from termux does not show anything related. |
Great. Welcome. Hmmm, this could be tricky. I can't seem to reproduce it on my LG G5. Moreover, set log level to |
By default, if Shot 2 toggle is disabled, soft keyboard will never show, not even with keyboard toggle buttons in drawer and in extra keys, even HackerKeyboard will not show. If you add |
By default when you open termux it automatically takes focus of terminal view and opens soft keyboard. When soft keybaord is closed, like with back button, you can tap on terminal view to open keyboard too. If
That is invalid value. There are only two valid values: |
Here's a (root) logcat. Only message from termux (except for keyevent messages, since I enabled that as well) are
I get the same on termux v0.108, LOS 18.1, on another device, so feels like a LOS bug and not really a termux issue. Here's a screenshot from the other device (the "dead" area is smaller):
With |
OK thanks! Only with What do you think of the Solution: All devices with PiP (should belonging to Android 11 but is not in AVD) use as default @agnoistc-apollo some weeks ago, we discussed about X11. Mainly related to the Keyboard Toggle and possible common OS-KB features. I use almost exclusively the X11 plugin with |
…rd is connected Users can enable this behaviour by enabling the `Termux Settings` -> `Keyboard I/O` -> `Soft Keyboard Only If No Hardware` toggle. Currently, for this case, soft keyboard will be disabled on Termux app startup and when switching back from another app. Soft keyboard can be temporarily enabled in show/hide soft keyboard toggle behaviour with keyboard toggle buttons and will continue to work when tapping on terminal view for opening and back button for closing, until Termux app is switched to another app. After returning back, keyboard will be disabled until toggle is pressed again. This also may help for the Lineage OS bug where blank space is shown where soft keyboard should be if "Show soft keyboard" toggle in "Language and Input" is disabled. Check KeyboardUtils.shouldSoftKeyboardBeDisabled() and #1995 (comment) for details. The `TermuxPreferenceConstants` class has been updated to `v0.10.0`. Check its Changelog sections for info on changes.
@Grimler91 Well the os logs don't show anything related, but thanks! Yeah, likely is a LOS issue, maybe report that. As far as solving it from Termux side is concerned, I am not sure if its possible directly. You see, in Android, there is/was no official Anyways, in your case, if we use the above ways, I don't think there is a reliable way to differentiate between keyboard open and taking space vs keyboard not open but blank space being taken. The best I could do considering you have confirmed that |
Thanks for the adjustments @agnostic-apollo. I considered this initially "formally". It increases the number of sources from 197 to 205. The adjustment from @fornwall to 200 and both together should contain 208. merge conflicts I've not discovered and the I did not get feedback yet to what you've used for AVD as external KB for testing and common OS-KB features ... from the X11 plugin. Could you take a look at it If I have complete the check your changes on my devices, I'll contact you again - thanks so far :) |
Would you also like some German language combinations to be supported as well?
Errors are currently not thrown. At verbose log level, the values that are loaded are logged. Some updates and design changes need to be made in future to support setting termux.properties from Termux Settings, so will fix in that.
Very complicated logic and no special need for it anyway since user can easily configure in couple of minutes. They will also complain about different behaviour from normal.
No specific usage of X11 plugin in termux and it was never released officially.
It wouldn't change behaviour on windows since that's controlled by gitattributes. It just fixes an issue of |
No thank you I understand English pretty well! With spelling I meant typo or writing mistakes. ... so it comes - nice.
I use WSL for
The behavior (constant unmotivated OS-KB) I has only noticed with my new SM-P610 device (tablet) as a problem and it does not occur with other apps. With the current
Defaults should only be changed if
Does that mean you will not take a look at it, although it is the best XServer? You said nothing about external KB at AVD, so I suspect that does not test that either and also nothing to my recommend merge now so I assume you will not |
Addendum to the shot aboveand OS-KB Toggle with BT-KB. I have another video (1:14 without sound <10MB) created on this topic. It shows the screen of the pad and the phones with which the pad was recorded. The Phone (TeamViewer) has a delay, so that the movements/actions appear slightly offset. toggle.mp4Exactly here are three KB with |
@cmosetick Does the issue still happen with changes in recent termux versions? Current F-Droid version is Issue should be closed if its fixed. |
…rd is connected Users can enable this behaviour by enabling the `Termux Settings` -> `Keyboard I/O` -> `Soft Keyboard Only If No Hardware` toggle. Currently, for this case, soft keyboard will be disabled on Termux app startup and when switching back from another app. Soft keyboard can be temporarily enabled in show/hide soft keyboard toggle behaviour with keyboard toggle buttons and will continue to work when tapping on terminal view for opening and back button for closing, until Termux app is switched to another app. After returning back, keyboard will be disabled until toggle is pressed again. This also may help for the Lineage OS bug where blank space is shown where soft keyboard should be if "Show soft keyboard" toggle in "Language and Input" is disabled. Check KeyboardUtils.shouldSoftKeyboardBeDisabled() and termux#1995 (comment) for details. The `TermuxPreferenceConstants` class has been updated to `v0.10.0`. Check its Changelog sections for info on changes.
…rd is connected Users can enable this behaviour by enabling the `Termux Settings` -> `Keyboard I/O` -> `Soft Keyboard Only If No Hardware` toggle. Currently, for this case, soft keyboard will be disabled on Termux app startup and when switching back from another app. Soft keyboard can be temporarily enabled in show/hide soft keyboard toggle behaviour with keyboard toggle buttons and will continue to work when tapping on terminal view for opening and back button for closing, until Termux app is switched to another app. After returning back, keyboard will be disabled until toggle is pressed again. This also may help for the Lineage OS bug where blank space is shown where soft keyboard should be if "Show soft keyboard" toggle in "Language and Input" is disabled. Check KeyboardUtils.shouldSoftKeyboardBeDisabled() and termux#1995 (comment) for details. The `TermuxPreferenceConstants` class has been updated to `v0.10.0`. Check its Changelog sections for info on changes.
Hello and thank you for this excellent project.
I am a part-time security researcher and tester.
I have recently been doing some research on Android and found Termux to be helpful.
However, I have been road blocked by a USB issue with my testing device.
Please note that the Android device is NOT heavily customized.
So I am looking for other people that can reproduce and confirm the issue I describe below.
If several people are not able to reproduce this issue, then I am happy to consider it invalid.
Problem description
Inserting a Yubikey USB device into USB-C port on Android handset disables on-screen keyboard within Termux Application.
Device Tested: Yubikey 5Ci
NOTE - I do not see this issue with other applications while a Yubikey USB device is plugged into the same handset.
(i.e. the on-screen keyboard works normal and as expected in all other applications I have tested.)
NOTE: Inserting a regular USB-C mass storage device does not make the keyboard disappear!
Device Tested: A regular SanDisk USB-C flash disk formatted with a couple partitions.
Steps to reproduce
Expected behavior
OR
Additional information
0.108
installed via F-Droid. (same bug experienced with previous Play Store version)10
4.14.141-20190226
Please note that the Yubikey USB device works perfectly fine with @Yubico
yubioath-android
App on the same device.(installed via Play Store)
CC:
The text was updated successfully, but these errors were encountered: