Termux-app: ChromeOS set to Dvorak, Termux uses Qwerty

Created on 5 Feb 2017  路  49Comments  路  Source: termux/termux-app

I've searched for separate keyboard settings for Android buried in the ChromeOS settings tree, but haven't been able to locate them. Expected behavior is that when ChromeOS is set to use Dvorak, Termux would too. Actual behavior is that Termux input is set to Qwerty, regardless of ChromeOS setting.

Chromebook Flip, not in dev mode. Termux installed via Play Store.

bug report chrome-os help wanted

Most helpful comment

I'll leave an extra comment here in case anybody else wants to ssh into their termux ssh server. The IP address you'll need to use is 100.155.92.2 (not localhost) because the android subsystem is on a separate bridged interface.

All 49 comments

Is this problem generic to all Android apps running on ChromeOS, or specific to Termux?

Apologies for the delay. I've installed OI Notepad and Turbo Editor on the same machine and it works with Dvorak as expected. On the closed-source side of things, Google Keep works as expected with Dvorak as well. I suspect this issue is isolated to Termux.

I am having the same issue with a german chromebook using a qwertz keyboard. Termux always uses qwerty. Usually I use loadkeys on Linux to set the keyboard layout, but this is not available.

+1 Verified that this seems to be a termux specific problem. I tried a few other android apps and they used the ChromeOS dvorak keyboard layout, but termux does not.
To get around it, I'm able to ssh using chrome secure shell into a termux sshd for now.

Same problem here too (german chromebook with QWERTZ-Layout).
Are there any news on a (potential) fix yet?

This problem still exists. I am a beta user and just bought a brand new Samsung Chromebook Plus specifically because it supports the app store, so I could use Termux. This is very frustrating. Is anyone who can do anything about this paying attention to this thread? I will pay money to have this fixed.

I tried digging around a little but could not see what would be needed to solve the problem. Hopefully somebody smarter can look into it!

Same problem here with Chrome OS 58 and UK keyboard.

Same here on chrome os 60 and qwertz de keyboard. As a side note, GnuRoot, which also uses proot for root-less chroot, seems to have the same issue under chrome os.

Same issue -

Asus C302ca
ChromeOS Version 60.0.3112.34 (Official Build) beta (64-bit)
Termux 0.52

ChromeOS is set to UK keyboard, other android apps correctly recognise this, but Termux uses a US keyboard.

I'll leave an extra comment here in case anybody else wants to ssh into their termux ssh server. The IP address you'll need to use is 100.155.92.2 (not localhost) because the android subsystem is on a separate bridged interface.

Are there any workarounds to this keyboard issue? I read about devs using termux and was super excited, but this pretty much makes the app unusable for me.

Hi Julia,
as far as I know the only current workaround is to set up an ssh daemon in termux and connect to it with one of the many ssh clients available for Android (that is what I am currently doing, although I set up a GnuRoot Debian with ssh on my Chromebook as well which I am using much more often (no more dev-mode and crouton 馃槃) -- the GnuRoot Debian App is haunted by the same bug).

Raimo

I've just been using the official Secure Shell app in Chrome on my Chromebook plus. Yes, it requires Internet access, but I'm usually needing to do something on a remote machine anyway.

I'd still love to see this fixed, so I can write code wherever I go. I tried of offering cash for a fix, but never heard back from the developer. 馃槥

I would love to see this fixed as well. Looks like https://github.com/jackpal/Android-Terminal-Emulator suffers from the same problem in ChromeOS as well. It termux based on that code?

@carwyn It certainly appears to be. It makes a lot of sense to me that apps that act as editors would use the native Android text editor functions, but that terminal emulators would use character codes for e.g. screen control. I quickly searched the termux codebase, and it seems like getUnicodeChar is used in a couple of critical places, so this may not be fixable until ChromeOS handles the consistency issues with that API.

This seems to be working fine on Chrome 61 on my Asus chromebook flip. Try updating and see if it magically works now.

Thanks for the tip, @kzahel!

Working for me on Samsung Chromebook Plus as of today.

Great News! I'm trying as soon as I get home on my Acer R13 and report back

Still an issue for me -

Asus C302ca
ChromeOS Version 62.0.3202.74 (Official Build) beta (64-bit)
Termux 0.53

ChromeOS is set to UK keyboard, other android apps correctly recognise this, but Termux uses a US keyboard.

Just tried it on Version 61.0.3163.120 (Official Build) (32-bit) on my Samsung Chromebook plus, and it's working. Odd; older version than yours, but 32-bit vs 64-bit...

I launched termux and checked, my Dvorak layout was working fine. Switched my Chromebook settings to QWERTY and alt+tab to termux -- fine (was QWERTY). Switched back to Dvorak and termux was Dvorak again.

Update: Just updated to Version 61.0.3163.123 (Official Build) (32-bit) on the same device. Still working, and Chrome OS tells me there are no further OS updates.

Acer R13 (ARM) also still an issue (ChromeOS Version 62.0.3202.74 (Official Build) beta (32-bit))

I just noticed that while most keys are working great, for some reason the - and = keys (to the right of the numbered keys) are the only keys that are not using the dvorak layout. In dvorak they should be [ and ]

Is anyone else who has a mostly working termux dvorak keyboard layout working noticing the same behavior? As stands there is no way to type any bracket characters!

By comparison, I just tried using google docs android app and I can use the labelled - key to type [ without problem.

I am on a pixelbook.

I've never noticed this. I'm pretty sure I would have, since I'm a programmer and use vim a lot.

The -/_ and +/= keys to the right of the number row produce [ and ]. The "/' key produces -/_, and the }/] key produce =/+.

What model Chromebook are you using?

I am using a pixelbook. I just tested now on an asus flip and see the same issue. the labelled - and = keys are using the querty keys even though I'm in dvorak layout. Every other key seems to be using the correct dvorak key.

Odd. I was using my PixelBook as well when I tried it. No problem there. I have the cheapest one, not that it matters. I think they're all basically the same except for SDD & RAM sizes.

Same issue on a Pixelbook, UK layout but Termux is treating it like a US keyboard (tilde, hash, etc all in the wrong place). Sounds like the issue linked by @carwyn is the cause, since Termux is using KeyEvents directly instead of the keyboard IME. It also looks like it's been left largely unfixed, though there's movement last month "internally".

@fornwall with Android support and devices like the Pixelbook launching, Termux is well-placed to become _the_ terminal emulator for ChromeOS. Currently the alternative is _Developer Mode_ which makes the device generally less secure (largely defeating the purpose of ChromeOS). It's a great growth area and I'd urge you to ensure Termux supports it well :) You have a small army of testers here ;)

So, there is no one assigned to this bug. And looks like its never going to be fixed. It Termux abandoned ? Or is it only intended for users with a US keyboard and the rest of the world doesn't matter ?

Its more we don't have acess to chromeos for testing and its likely its the implementation of amdroid apps in chromeos that causes this. Recommendation is setup sshd in termux amd connect to it using ssh client in chromeos.

And since Termux is an open-source project, anyone who has access to chromeOS can dig around in the app code, investigate what could be the issue, find a solution and open a pull request.

And since Termux is an open-source project, anyone who has access to chromeOS can dig around in the app code, investigate what could be the issue, find a solution and open a pull request.

It's pretty well-established at this point that the bug is upstream. In fact, we _did_ dig around in the app code, and identified the call that Termux was making that had an upstream bug filed against it. That bug has been resolved on several Chromebook models (including both of mine). The reason I haven't updated the issue is that I expect the project leaders to establish when they want to consider the issue resolved. For what it's worth, I consider this issue resolved, since there's not much to do until Google rolls out the change to all Chromebook models.

@rpdillon could you provide your ChromeOS version and confirm you've seen this has been resolved for keyboards other than standard US QWERTY (by my understanding you're just remapping a US QWERTY, please correct me if I'm wrong).

On ChromeOS 63.0.3239.140 with a UK-spec Pixelbook this is still an issue, and the upstream bug hasn't been marked as fixed.

@JamesBelchamber You make an excellent point...I filed the original issue around my US QWERTY keyboards remapped to dvorak, and that's the context in which I consider the bug resolved. I completely believe that it is not yet fixed on non-US keyboards. I don't have my Chromebooks with me, but the two I own are:

  • ASUS Chromebook Flip (C100PA-DB02 10.1-inch)
  • ASUS Chromebook Flip (C302)

They are both pulling from the beta channel, but are not otherwise altered (i.e. not in dev mode). I'm not sure if that's enough to be helpful, but it's the information I have access to right now.

EDIT: To be clear, I should not have indicated that 'the bug was resolved'. What I intended to say was that "I'm not experiencing an issue any more on my chromebooks".

I'm using an Acer Chromebook R13 with a _Belgian_ keyboard. It's pulling from beta channel.
Almost no non-alphanumeric characters are reachable.

If I _force_ ChromeOS to French keyboard mapping, I can find most of the standard non-alphanumeric characters (but mapped to wrong keys) and some strange behaviors (e.g. no "4"!).

Is there any generic way we could load new arbitrary key mappings? Or is it a problem of integration with Android/ChromeOS?

See also: https://en.wikipedia.org/wiki/AZERTY#Differences_between_the_Belgian_and_French_layouts_of_the_AZERTY_keyboard, http://charsetplus.tripod.com/Keyboard/Latin/FRNL-BE.htm

(I'm putting this here since I guess it's not worth creating a new issue.)

(BTW, Kudos for Termux. Excellent app!)

Same here.

I have the same problem on my new "Acer Chromebook 14 for work", Chrome OS version 65.0.3325.184.
Keyboard layout is Hungarian all around in Chrome OS and generally in the Android subsystem too, but Termux is using a weird hybrid non-functional us layout. (It's qwertz, but for example there is no way to type / and ~, or the accented national characters.)

I understand that it was determined that this phenomenon stems from an upstream bug, that is already fixed for some. But couldn't be this fixed for everyone with some workaround within Termux?

For now I've set up an ssh connection to Termux with the JuiceSSH Android app, where the Hungarian keyboard layout works by default. I also tried some other terminal emulator apps from the Play Store, and I've found one that also uses the Hungarian layout correctly (It's "Shell Terminal Emulator" by MobilDev)
So if JuiceSSH can solve this, wouldn't it be possible for Termux to do it in a similar way?

Same issue here as @emoryy -- strange hybrid layout for a german keyboard setting. No Umlauts (which wouldn't be a problem), but the symbols above the numbers are mapped to an english keyboard setting, while "-" is still mapped correclty. So for me there's no way to enter a "/" character :-)

Seems like this is suffering from the 'somebody else needs to fix their code, not us' problem.

Maybe they aren't fixing it because Crostini will make Termux obsolete.

@nashv feel free to donate a chromebook to the termux team, that might speed up finding a workaround for this.

As already stated in this thread, debugging without the necessary hardware is not really possible.

@Grimler91 Now, when Android Studio has Chrome OS emulator, it could be easy to fix. https://www.androidpolice.com/2018/05/13/android-studio-now-chrome-os-emulator/

@kasik96 awesome, thanks for sharing, I'll have a look if the problem is reproducible in the emulator.

I'll leave an extra comment here in case anybody else wants to ssh into their termux ssh server. The IP address you'll need to use is 100.155.92.2 (not localhost) because the android subsystem is on a separate bridged interface.

For anyone who's trying the sshd-workaround: the IP address of the android container should be 100.115.92.2.

Same issue here.
ASUS Chromebook Flip C302
Version 70.0.3538.76 (Official Build) (64-bit)

Termux : 0.65
Keyboard : fr
Keymapping : fr_FR

Letters and numbers are ok but all specials char are like a qwerty keyboard.

Hi,
Note that the Google Play app has got the same keyboard mapping issue on my Azerty Asus C302 Chromebook. When I wanted to type in a Google gift card number, I had to use my smart phone. I could not enter some numbers... Barely believable this was never tested... Franz

Hi there, Just bought an Asus C523 and have a FR keyboard and the issue is the same:

Letters and numbers are ok but all specials char are like a qwerty keyboard.

Same problem here with FR layout. I tried to use loadkeys as a workaround but it's not available. Why so?

The SSH solution connecting to 100.115.92.2 used to work for me, but since the most recent update (Chrome OS version: 76.0.3809.136) something goes wrong with the termux network interface after termux has been running for a while. I think it happens after the chromebook has been on sleep.

  • SSH won't connect.
  • Can't ping any internet hostname (like www.google.com) from termux shell.
  • ifconfig output:
arc0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::f443:e7ff:fe26:817b  prefixlen 64  scopeid 0x20<link>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 217501  bytes 90030748 (85.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 20706  bytes 2629894 (2.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 1494  bytes 123404 (120.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1494  bytes 123404 (120.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Even if I force stop and restart termux, the ifconfig results and other symptoms remain the same. Only fix is to reboot the chromebook.

Same problem with Samsung Chromebook 3 with br-abnt2 keyboard layout.
麓/` keys dont do anything and ~/^ seems to work as delete.
(ChromeOS 81)

There's any workaround?

Was this page helpful?
0 / 5 - 0 ratings