klausw / hackerskeyboard

Hacker's Keyboard (official)
https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard
Apache License 2.0
1.88k stars 443 forks source link

Add shortcut for hardware keyboard layout change #142

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Press CTRL + Spacebar
2.
3.

What is the expected behavior? What do you see instead?

Would be nice to be able to change the keyboard layout using the shortcut 
CTRL-Spacebar as it is done with the Asus keyboard.

What version of Hacker's Keyboard are you using? (See top of the app's
Settings menu.) On what phone or tablet?

Latest from Downloads section on an Asus eeepad Transformer with keyboard dock

If applicable, does this affect the 4-row or 5-row layout, or both? Which
language(s)?

Please provide any additional information below.

Original issue reported on code.google.com by gbill...@gmail.com on 5 Jan 2012 at 7:29

GoogleCodeExporter commented 8 years ago
I'm planning to implement this, though it may take a while - if I'm 
understanding it right, this requires setting up a translation layer to remap 
the physical key events received by the software keyboard. If anyone knows more 
about the internals of how the Transformer handles the layout switching and 
there's an easier way to do so, please let me know.

See also issue 113: Remap querty hardware keyboard -> dvorak

Original comment by Klaus.We...@gmail.com on 27 Jan 2012 at 11:02

GoogleCodeExporter commented 8 years ago
I would akso ask for the same functionality towards Samsung Galaxy Tab's 
keyboard dock.
At the present, no switcing of layout takes place not by the "Lang" key nor by 
Shift-Space.
The convinient layout change on the screen keyboard also brings to nothing.

Original comment by zako...@gmail.com on 3 Mar 2012 at 8:21

GoogleCodeExporter commented 8 years ago
And, huh, could it be possible to accelerate the solution of this issue and 
meanwhile to express my gratitude to the developers by paying, to say, $50?

Original comment by zako...@gmail.com on 4 Mar 2012 at 1:32

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
This is a complex change, as far as I know it's not a matter of simply adding a 
key combination to trigger a "change language" canned method. The keyboard 
would need to have tables listing key codes for each different type of hardware 
keyboard, ways to identify which type is currently in use, and separate 
mappings from the keys to the language-specific keymaps. I'm not aware of 
standard Android methods that would let me re-use existing system maps for 
this, if anyone knows otherwise please let me know and point me to 
documentation.

Thanks for the donation offer, but the main problem is that there's just one 
developer (me) working on this in my spare time and it's difficult squeezing in 
even a couple continuous hours at a time. Large coding tasks such as this one 
would need a full weekend or two. I'm trying to prioritize code changes that 
would be most generally useful (mainly the more flexible layout selection), and 
device specific changes or complex language-specific changes (such as adding 
Korean support) will have to wait :-/

I hope that this change will be easier once the keyboard supports 
user-specified layouts. One main reason to defer it is that I can't 
realistically maintain translation tables for a large variety of hardware and 
language variations in code, this needs to be set up so that users can edit the 
mapping without me needing to be involved.

Original comment by Klaus.We...@gmail.com on 6 Mar 2012 at 2:13

GoogleCodeExporter commented 8 years ago
Extra keyboard support STRONGLY needed with ability change layout by single 
Ctrl key pressing.

Original comment by kasatkin...@mail.ru on 6 Nov 2012 at 6:08

GoogleCodeExporter commented 8 years ago
Unfortunately, I, as many commenters above, unable to give advices about how 
ASUS (Padfone in my case) on-screen keyboard handles that ctrl-space pressing, 
since it is closed-source, and as far as I know, it is nothing similar working 
in any opensource keyboards, but, anyway, is it any news on the issue? :3
It is VERY wanted by many people (and I personally ready to perform any tests 
(including grabbing asus keyboard apk from device storage and sending it to 
you) you may ask to help you implement that)

Original comment by mva.name on 20 Nov 2014 at 9:49

predragmandic commented 3 years ago

@GoogleCodeExporter changing layouts is already implemented and is triggered by swiping space left/right. Can you add an option for same function to be called on keypress event when keys are <Ctrl>+<SPACE>? Edit: To make it clear, no remaping of keys is required, just changing layout. Hardware keyboards (bluetooth) take the layout that is chosen in default software keyboard. When I want to switch layouts I need to swipe that space and to do that I need to detach bluetooth keyboard so that it comes up. This process is very tiresome when I need to change layouts very often.