mr_yellow's PCM Keyboard english layout - Windows Mobile Development and Hacking General

Hi All,
I've looked around and I find that a lot of PCM keyboard layouts focus too much on the skin and not enough on the layout.
I created the following layout and I find that for my own usage, it works really well. I'm uploading it here so that others can use it and modify it to their liking.
The main benefits of my layout over the default english layout are:
Main Layout:
1) second row shifted over to better match real keyboard layout
2) ".com" button for easy web shortcuts
3) 123#? button has shortcuts for popular used punctuation (. , are easiest to access)
4) enter key has the cut/copy/paste/opt shortcut
Secondary Layout:
4) Number keys are double width and moved to left of screen (easier for right handers)
5) layout focused on calculator/excel input. so * / + - = . are all easily accessible
6) All bracket/parenthesis is accessible in the () shortcut key
7) All other symbol keys are accessible in the sym shortcut key
8) holding down 0 will give you a space
9) enter/backspace/123#? all remain in same location (i didn't like how backspace was on left of layout
This layout should work fine on any of the default skins.
I hope you guys like it!
EDIT: INSTALL INSTRUCTIONS
Looks like some of you are more inexperienced than I thought.
1) download the mr_yellow.layout.txt. remove the .txt extension and place it in your /program files/pcmkeyboard/ directory on your device
2) go to your input settings and select the options for pcm keyboard
3) "mr_yellow" should show up in the layout drop down box.
4) select and enjoy.

Just what the doctor ordered..thank you.
I was wondering why we hadnt seen anything like this released before. Functional as all hell.

How do I get this to work? Where do I place the text file?

I added install instructions. It's a pretty simple install. I had to rename the layout to .txt so that I could upload it.

Related

looking for people who are intrested in working on a keyboard project!

alright. so i have noticed that there are many different keyboard styles, features, and fuctionalities.
but there is one huge thing missing. and it took me until right now to figure out what it was.
we are missing personalization and versatility.
i am on a mission to create the best onscreen keyboard that xda has ever seen.
obviously i cannot do this alone.
i am great at graphics and anamations but programming isnt exactly my strong point. so ifanyone and i mean anyone is intrested in this project, definitly post here..and also a pm. to me would be greatly appreciated.
i have high hopes for this project and i hope everyone else does too.
you can also post here if there are options/features that you look for in an on screen keyboard.
or you can just wish us luck!
thanks everyone =)
What I would like to see:
A combination between the finger-usable PCM Keyboard,
and the gestures of the WM5-keyboard
Something like TouchPal from CooTek but taking up a little less screen realestate would be amazing.Wish i could help with the coding, but I've only taken one class of c++ and I know I wouldn't be any help. Good luck with this project, sounds really cool.
I think a 1/2 screen finger-friendly qwerty is ideal. One that has basic punctuation keys (Period, comma, exclamation, question) on the primary input screen.
Unfortunately, I don't have skills/time to work on initial development, but very willing to test as I am in search of the best on screen keyboard and I can provide experienced and thorough feedback.
PPC6800- Titan
WM6 2.17.651
Radio 1.47.01
I suggest the main keyboard window to be one or two lines with option and buttons which show the main keyboard layouts with tap and hold to navigate to the desired letter. So the layout window that can be semi transparent to allow see what you write not need to be all the time on screen and covers a big part of her. Hope you understand what I mean cause my english are not so good.
brilliant idea
text assigneable keys, as in assigning '[email protected]' so it can be called at any time, and other assignable texts. I like the touchpal keyboard, but it does take up too much space and there is a lot going on. Resco just updated their's and I am not sure I like the new one, it is very much like the pocketcm keyboard, so why pay $19 for resco's??? I can't program, but will help in usability testing, so count me in if you think I can help the project. Good luck.
It's clear that there will be as many different visions of a "perfect keyboard" as there are people posting here. What is worst, there'll be many conflicting ones: "can the keys be bigger?", "the keys should be smaller", "i need one more page with numbers only", "who the hell needs a page with numbers only, it's a waste of memory", etc...
So i'd say that what a program with such ambitions would need the most is full customizability. Here's a roundup of features i'd like to see:
-key layout customizable trough an xml file.
-multiple pages switched by button actions (tap, hold, gesture) so we can have one default page, one with numbers, one with national symbols, etc.
-gestures, but not only right/left/up/down, like in default keyboard, but also diagonal, and ability to use a key from a different page upon a gesture, eg. when you press a letter and drag in bottom right direction, you'll get a lowercase national (like accented one) character, if you drag in top-right direction, you'll get an uppercase one.
-dynamic key binding: you copy a text to the clipboard, and with a certain key combination (set in the config file) you can bind it to some unoccupied space left for that purpose (you could use it for single letters/symbols, e-mail addresses, or even a bit longer texts - say up to 256 characters).
-did i mention customizability?
I guess that these features would be a good starting point and more functions could be added on the way.
So in short, my vision of the perfect keyboard would be actually just a framework, a tool, enabling the users to experiment with different layouts and functions and create their own perfect keyboard. And the XML config file plus additional graphics would be the keyboard itself. It would be for text input what BatteryStatus is for Today screen plugins.
Example config could look a bit like this:
Code:
<Keyboard name="example">
<Page name="Default" background="image.png" height="200">
<Row>
<Key name="A" image="key_normal.png" image_pressed="key_pressed.png" caption="A">
<Press action="typeText" argument="a"
<DragR action="specialKey" argument="Space" />
<DragBR action="overrideCaption" argument="ą" action="typeText" argument="ą" />
(...)
</Key>
(...)
</Row>
(...)
</Page>
(...)
</Keyboard>
Available key gestures could be tap, hold, double tap, drag - sideways, up and down, diagonally. Actions could be something like type text, override caption (replaces default key caption until the key released, so that you can see what you're typing), permanently change page to a defined one, change page to a different one for one keypress (like the shift does i the default keyboard), cycle pages, etc. Each key could trigger multiple actions - so it could type some text, and then change page to a different one (example - you have a page with large assignable buttons, so you can bing something like an e-mail address there. When you press that key and the address is typed, the keyboard will return to its default page).
Anyway, that's just my 2 cents. Good luck with the project, whatever direction it goes in.

Very compact PocketCM skin (3 rows): miniPhone v0.1 (screenshots added)

One problem that I have with most keyboard skins is that it becomes too tall and I find myself typing blindly because the keyboard covers the area that I am typing. SPB Fullscreen keyboard gets around but is buggy and not a "true" SIP keyboard (if you have used this you will know what I mean. The only way around this is to create a not so tall skin. Default WM6 kb is not so tall but is not finger friendly.
Thus I have modified a skin for PocketCM that I thought I would share. The original skin is based on a skin called 2manyiClone, which I believe is from 2manyphones, so many thanks goes to him.
The main features are:
1. Only 3 rows high, but the buttons are still finger friendly (most skins are 4 rows).
2. Most letters, symbols and numbers needed can be accessed through the main layout screen(I hate switching layout screen for one symbol or number and having to change back).
3. What is sacrificed to make this happen: space, return, and backspace are only 1 box wide. No shift button.
4. In place of shift, all capital letters can be accessed by holding down a letter until the "symbol pad" for that letter pops up revealing its capital letter. If you really need the shift key (ie capitalizing whole words) you can find it in the "symbol pad" of the space key (hold space key down).
5. All digits can be accessed on the main page by holding down the letters of the top row (qwertyuiop) for 0-9 revealing its symbol pad. All of the letters in the top row have the corresponding digits in their top right corner to show its digit function.
6. Symbols and punctuations can be accessed either through the default symbol pad of the .!123 key (hold it down) or the "m" key (which has a (') character to designate it is also a symbol key.
7. .com can be accessed through the "c" symbol pad and www. can be accessed through the "w" symbol pad (hold down the respective letter).
If someone finds a use for this, then great. If not, then sorry to waste your time.
Just download and unzip into your PocketCM keyboard folder. It should have two files miniPhone.layout and miniPhone.skin. Under PocketCm options, it is important to select both the miniPhone layout and the miniPhone skin for it to work right.
I am also taking suggestions for improvement. If it suits me I will make the change and post revisions. If it doesn't suit my purpose, then i will just show you how to change it yourself.
Here is also an alternate layout by jomo25:
http://forum.xda-developers.com/showpost.php?p=2105928&postcount=14
Here are my screenshots:
Nice job
This is a nice adaptation of my iClone keyboard. The small numbers on the top row of keys is a nice idea. I'm sure some people will like this smaller footprint. You may want to take a look at the layout file in my "Best of" version (link in my signture). Considering the numbers can be accessed from "qwerty...." keys, I think you could add more symbols or shortcuts to the .!# key. Also the symbol pad goes to 4 lines. You may want to try having two 3 line symbol pads to keep the same foot print, but still allow for access to many symbols.
It is nice to see people taking my (and others) ideas and coming up with their own style.
Keep it up!
works great on my HTC Touch, thanks!
Nice screenshoot...I'll try...Thanks....
Spanish layout
Hi,
How can I add accented vowels support?
I mean á, é, ...
Thanks
longj49 said:
works great on my HTC Touch, thanks!
Click to expand...
Click to collapse
wait...it's not suppose to look like that. It's suppose to have only 3 rows not 4. Are you sure you selected miniPhone under skin and layout? I think you forgot to select miniPhone layout.
2manyphones said:
This is a nice adaptation of my iClone keyboard. The small numbers on the top row of keys is a nice idea. I'm sure some people will like this smaller footprint. You may want to take a look at the layout file in my "Best of" version (link in my signture). Considering the numbers can be accessed from "qwerty...." keys, I think you could add more symbols or shortcuts to the .!# key. Also the symbol pad goes to 4 lines. You may want to try having two 3 line symbol pads to keep the same foot print, but still allow for access to many symbols.
It is nice to see people taking my (and others) ideas and coming up with their own style.
Keep it up!
Click to expand...
Click to collapse
So i see my thanks needs to go to you for the skin. It is the most "authenetic" *phone skin out there.
Funny that I never looked at that thread before when I came up with my ideas, especially having caps for each letter symbol pad. I am quite surprise more layouts don't have this. i guess great minds think alike..lol. I got the idead for that from using default wm6 kb with gestures in which if you upward gesture any letter you get its cap.
Again, thanks a bunch.
Aslo, perhaps you can link this thread to your original thread?
I am considering adding punctuations and symbols onto the qwertyuiop keys, with each letter getting a symbol on the upper left hand corner to go with the digits on the right hand corner. The problem with this design is that things may start to look cluttered.
What do you guys think?
screenshots added to first post!
very nice work! works great on my cruise but there's a small bug. sometimes when i press space, it would go to the symbols pad itself. weird but it's not a big deal. also, all the buttons seem overlapped on landscape mode. visible especially on the top row and the space, return, symbols and backspace buttons. thanks for the great skin!
raggastani said:
very nice work! works great on my cruise but there's a small bug. sometimes when i press space, it would go to the symbols pad itself. weird but it's not a big deal. also, all the buttons seem overlapped on landscape mode. visible especially on the top row and the space, return, symbols and backspace buttons. thanks for the great skin!
Click to expand...
Click to collapse
Sorry but I designed this for use on Portrait only, never really use Landscape myself.
On the spacebar bug, which symbols pad are you referring too? Spacebar has its own "symbols pad" which include the Shift key, period and comma, as well as the space bar.
SuperFly, this is awesome...You inspired me to use this one which takes up much less space...I've modded yours to this:
Code:
keyboard_layout_1=qwertyuiop\nasdfghjkl\N\n\Mzxc vbnm\2
keyboard_layout_2=QWERTYUIOP\nASDFGHJKL\N\n\MZXC VBNM\1
keyboard_layout_3=&@[1\]$*789+?\n.':/!456-\B\n\M[1http://www.]()0123=\N
symbol_pad=\M,0123456789
symbol_pad=z,-Z?!_&@$"'
symbol_pad=w,W2[3http://www.][2.com][2.net]
symbol_pad= ,[2LoginID2][3LoginID1][2Password1][3Password2]
symbol_pad=),[2;)][2:)][2:p][2:D][2:*]
symbol_pad=(,[2:S][2:(][2:|][2:o][2:/]
symbol_pad=/,[1\]
symbol_pad=-,_
symbol_pad=:,;
symbol_pad=http://www.,[2.com][2.net][3https://www.]
symbol_pad=a,A
symbol_pad=b,B
symbol_pad=c,C
symbol_pad=d,D
symbol_pad=e,E3
symbol_pad=f,F
symbol_pad=g,G
symbol_pad=h,H
symbol_pad=i,8I
symbol_pad=j,J
symbol_pad=k,K
symbol_pad=l,L
symbol_pad=m,\E\T\H\F\DM
symbol_pad=n,N
symbol_pad=o,9O
symbol_pad=p,0P
symbol_pad=q,Q1
symbol_pad=r,R4
symbol_pad=s,S
symbol_pad=t,5T
symbol_pad=u,7U
symbol_pad=v,V
symbol_pad=x,X
symbol_pad=y,6Y
This way it's always 3 rows, and has access to lots of symbols, smileys, and ID/PWs as I like to set mine up...Hope this is useful to some others!
Great idea, SFSC!
jomo25,
glad I inspired you. maybe you can post a zip of your layout so we can try it out without going through a text editor.
superflysocal said:
jomo25,
glad I inspired you. maybe you can post a zip of your layout so we can try it out without going through a text editor.
Click to expand...
Click to collapse
Attached. The skin file is unchanged. The layout file is as in last post.
If you want to customize it of course, you should use a text editor to use your IDs and/or PWs...
Thanks!
Additional shots
Anyone working on a portrait VGA version of this?

Touch Input Layout problem - space button missing

Hi,
the touch input keyboard has 2 layouts on my HD2. The main difference between the 2 is that in some applications there is no space button but there is ".com" "/" buttons instead. For example if I run the web browser and type the web address then this layout appears and in this case it is very useful . But I don't really understand how it is decided or ruled which layout is selected, because when I go to a page where i try to fill a field the same layout comes up, and no space button available. Sometimes this layout appears when I run other normal application for example messaging. Some times the layout selection works as it should be, but sometimes always the bad layout appears with missing space button. Is there any experience about this, or solution?
Many thanks.

[PRO] Remapping hardware buttons / hardware keyboard

Hi folks,
I'm trying to remap the hardware buttons of my rooted Xperia Pro with stock ICS 4.0.4, but there are some quirks that trouble me.
Basically, I want to
1.) remap the language button on the QWERTZ hardware keyboard.
2.) Prevent the camera button from unlocking the phone - just press power to show the lock screen, then hold camera button, the press home key and you'll see how easy it is for the phone to unlock in your pocket.
So far, I parsed through the keyboard layout files in /system/usr
I remapped key 368 in pm8058-keypad.kl to CTRL_LEFT, which did not seem to make any difference! Language button still invokes language dialog
I also modified quertz.xml and qwerty-en.xml by replacing META_LANGUAGE with META_CTRL_LEFT - did not make any difference.
Of course, I rebooted the phone inbetween...
Regarding 2), I have no clue. Butting WAKE_DROPPED behind CAMERA and FOCUS in pm8058-keypad.kl does not help.
I could use some help with key remapping as well. If I find some info i'll send it your way.
No progress for me so far... anyone?
kyanox said:
I could use some help with key remapping as well. If I find some info i'll send it your way.
Click to expand...
Click to collapse
I want to re-map the 0 (Zero) key and the OK button orientation on the PIN Lock feature. Any info what files I need to change?
I GOT IT!!! partially at least....
Reading through http://source.android.com/tech/input/key-character-map-files.html and http://source.android.com/tech/input/key-layout-files.html once again, I finally found something that pointed me into the right direction!
I order to make my change to the Language button work (remapping key 368 to CTRL_LEFT), there are two possible ways:
1.) Set hardware keyboard to FULL keyboard type by replacing "type ALPHA" with "type FULL" in /system/usr/keychars/pm8058-keypad.kcm
This will make the hardware keyboard work without any additional GUI, so pressing shift will allow you to select text and copy&paste via ctrl+a,c,v,x now works (This still depends on the app you are using. Some do ignore this, some will still work with menu+a,c,v,x instead)
But beware:, in order to enter numbers or upper case letters, you now have to keep the modifier key pressed.
Printable characters can be edited via /system/usr/keychars/pm8058-keypad.kcm, non-printables like modifier keys can be edited via /system/usr/keylayout/pm8058-keypad.kl
Android keycode names can be found here: http://source.android.com/tech/input/keyboard-devices.html
Until now, I was unable to create a solution for entering special characters like ä,ö,ü
I tried to via sym or meta keyword in .kcm file while mapping the Sym key to SYMBOL or META_LEFT via the .kl file, but it didn't work...
2.) The .xml files in /system/usr/keyboard-config/layouts are used only with the keyboard configured as "type ALPHA". In order to identify the correct .xml file, you have to parse through the files in /system/usr/keyboard-config/languages and look for the script keyword, which in conjunction with the declarations in /system/usr/keyboard-config/keyprint.xml will tell you to the layout xml file for your device localisation.
Now, in order to remap printable characters, you have to edit the correct layout xml file and for non-printable characters, you have to edit the scancodes.xml file in /system/usr/keyboard-config.
Unfortunately, shift-selecting text will not work with "type ALPHA" mode and it seems that editing scancodes.xml is not sufficient to remap language button to CTRL_LEFT, but the .kl file has to be changed, too.

[Q] Multipress with CM10

Hi, I just registered here, but have been reading parts of the forums for some time. I first had Motorola Milestone, that I managed to successfully flash with CM7 using information found here. Thanks to all for sharing their knowledge .
Now I have switched to Milestone 2 (bought with CM10.1 by Engle_Mars nightly installed, and had some troubles upgrading to 10.2 but it finally worked, and I am happy ). Thanks Engle_Mars for the great job.
There is one feature that I really miss from the previous Milestone. That is multipress, which allows you to double-press a key in the physical keyboard to make a national character associated with this key. For my language (Polish) it is for example a -> ą. This is much faster than the default long pressing and choosing the wanted character from the list, and I very much liked it in CM7 (it was under System Settings -> Device Settings). But in CM10.1 and CM10.2 from Engle_Mars I cannot find this feature. Is it not there, or am I overlooking it? Is there an app that could add this functionality? (I searched, but couldn't find any). If no, is it possible you could add this, Engle_Mars? I found mentions of this feature in threads for other phones using CM10, so I suppose it is a part of CM10, but didn't make it to Milestone 2 port for some reason.
kaziq said:
Hi, I just registered here, but have been reading parts of the forums for some time. I first had Motorola Milestone, that I managed to successfully flash with CM7 using information found here. Thanks to all for sharing their knowledge .
Now I have switched to Milestone 2 (bought with CM10.1 by Engle_Mars nightly installed, and had some troubles upgrading to 10.2 but it finally worked, and I am happy ). Thanks Engle_Mars for the great job.
There is one feature that I really miss from the previous Milestone. That is multipress, which allows you to double-press a key in the physical keyboard to make a national character associated with this key. For my language (Polish) it is for example a -> ą. This is much faster than the default long pressing and choosing the wanted character from the list, and I very much liked it in CM7 (it was under System Settings -> Device Settings). But in CM10.1 and CM10.2 from Engle_Mars I cannot find this feature. Is it not there, or am I overlooking it? Is there an app that could add this functionality? (I searched, but couldn't find any). If no, is it possible you could add this, Engle_Mars? I found mentions of this feature in threads for other phones using CM10, so I suppose it is a part of CM10, but didn't make it to Milestone 2 port for some reason.
Click to expand...
Click to collapse
Czechop cm 10.2 version (4.3.1 jellybean) has polish characters. Have a try.
Fedroid said:
Czechop cm 10.2 version (4.3.1 jellybean) has polish characters. Have a try.
Click to expand...
Click to collapse
Thanks, but I am already using it
The problem is not in the Polish characters availability, because they are available with a long press (and touch), but in the far more convenient way of typing them by double pressing (no touching necessary).
kaziq said:
Thanks, but I am already using it
The problem is not in the Polish characters availability, because they are available with a long press (and touch), but in the far more convenient way of typing them by double pressing (no touching necessary).
Click to expand...
Click to collapse
Active metakeys and hit alt-lock and then the key asigned.
To access polish letters, choose Qwerty polish in Settings->Language & Input->Sholes keypad->Set up keyboard layout. Use ALT LOCK or ALT LOCK + SHIFT to get polish letters. ALT LOCK + '?' is mapped to pipe symbol('|').
To use META key you have to turn off android hotkey shortcuts. Unfortunately lately they made this option invisible in settings. To open it you have to type this in terminal (with root access):
su
am start -a android.intent.action.MAIN -n com.android.settings/.quicklaunch.QuickLaunchSettings
It is supposed that you can hit alt lock and another fisical key to get your polish characters (no double pressing but at least pressing two keys)
Greetings:highfive:
Fedroid said:
Active metakeys and hit alt-lock and then the key asigned.
To access polish letters, choose Qwerty polish in Settings->Language & Input->Sholes keypad->Set up keyboard layout. Use ALT LOCK or ALT LOCK + SHIFT to get polish letters. ALT LOCK + '?' is mapped to pipe symbol('|').
To use META key you have to turn off android hotkey shortcuts. Unfortunately lately they made this option invisible in settings. To open it you have to type this in terminal (with root access):
su
am start -a android.intent.action.MAIN -n com.android.settings/.quicklaunch.QuickLaunchSettings
It is supposed that you can hit alt lock and another fisical key to get your polish characters (no double pressing but at least pressing two keys)
Greetings:highfive:
Click to expand...
Click to collapse
Thanks. That feature would be a bit less convenient, but still cool. But I can't make it working.
I called the QuickLaunchSettings, and cleared all shortcuts (there was no option to disable the whole QuickLaunch). Then I entered the Sholes keypad -> Set up keyboard layouts, and chose QWERTY-polish. After that Alt-lock works like before (one Alt-lock + letter gives that letter, another one gives the blue symbol on the same key). Adequately Alt-lock + ? does not give the pipe, but ? or /.
Maybe I should have disabled the QuickLaunch thing as a whole, but I can't find a way to do that.
kaziq said:
Thanks. That feature would be a bit less convenient, but still cool. But I can't make it working.
I called the QuickLaunchSettings, and cleared all shortcuts (there was no option to disable the whole QuickLaunch). Then I entered the Sholes keypad -> Set up keyboard layouts, and chose QWERTY-polish. After that Alt-lock works like before (one Alt-lock + letter gives that letter, another one gives the blue symbol on the same key). Adequately Alt-lock + ? does not give the pipe, but ? or /.
Maybe I should have disabled the QuickLaunch thing as a whole, but I can't find a way to do that.
Click to expand...
Click to collapse
You need contact rabinhood, he will help you. He is the key master!:laugh:
kaziq said:
Thanks. That feature would be a bit less convenient, but still cool. But I can't make it working.
I called the QuickLaunchSettings, and cleared all shortcuts (there was no option to disable the whole QuickLaunch). Then I entered the Sholes keypad -> Set up keyboard layouts, and chose QWERTY-polish. After that Alt-lock works like before (one Alt-lock + letter gives that letter, another one gives the blue symbol on the same key). Adequately Alt-lock + ? does not give the pipe, but ? or /.
Maybe I should have disabled the QuickLaunch thing as a whole, but I can't find a way to do that.
Click to expand...
Click to collapse
Hello.
First thing for not to get lost in JB keyboard is that keyboard mapping seems to be done in several "layers":
the closest to hardware is /system/usr/keylayout/sholes-keypad.kl (the exact file name may be different in different ROMs, but this file is used to manage built-in hardware qwerty, there are more files here for other devices - mostly bluetooth keyboards)
This file is used to translate hardware key scan codes to system key names (ALT, SPACE, A, B, C, and so on)
/system/usr/keychars/sholes-querty.kcm (name may also be different ie. snoles-keypad.kcm, more files are for different hardware)
This file is used for telling system what character should be displayed (entered) after pressing a particular key with or without particular modifier keys (what to enter after pressing A, SHIFT+A, ALT+A, META+A, and so on).
Both of these are simple text files, and can be edited directly, to achieve effects you have to reboot system. Also beware! If you mess up with these files, you may disable hardware keyboard completely! Then rescue is overwriting bad files with originals from backup.
options found in android settings -> keyboard (Polish-QWERTY, AZERTY, QWERTZ) work like overlays, if you enable them, the system will use mixture of original kcm file, and the overlay - so depending on what an overlay contents, it may disable some keys you defined in your kcm
So if you want to modify keyboard, you have to disable these overlays, otherwise you will not get any effect (and may become a bit frustrated, like I was before I found this).
I attach my latest files with Polish letters entered with ALT_RIGHT modifier (obtained after holding ALT key), blue symbols entered with ALT (obtained after pressing, then releasing ALT key, and then pressing apropriate letter key), Greek letters with META key (mapped on ALT_LOCK). To have uppercase letters you have to press SHIFT release SHIFT, then ALT+key for Polish letters, or same with META for Greek letters.
To have CAPS, you have to press SHIFT twice. To have ALT_LOCK, you have to press ALT twice.
I'm wondering. Right now I have, let's say, multi-ALT (acting like ALT_RIGHT when held, and like ALT when held and released). Maybe it will be possible to code META in exactly same way, so we'll have another modifier key (META_RIGHT), but that's just an idea, and I haven't researched that yet.
I also wanted to encode arrow characters (right, left, up and down arrows) on META-left, META-right and so on, but also haven't had time to do that yet.
Regards!
Chris
[edit]
Added arrow characters (META+left, META+right, etc). Added not equals sign (ALT+META+G), equal or smaller (ALT+META+Z), qual or greater (ALT+META+X), double tilda (ALT+META+~), euro (META+~).
New files in attachment.
rabinhood said:
Hello.
First thing for not to get lost in JB keyboard is that keyboard mapping seems to be done in several "layers":
the closest to hardware is /system/usr/keylayout/sholes-keypad.kl (the exact file name may be different in different ROMs, but this file is used to manage built-in hardware qwerty, there are more files here for other devices - mostly bluetooth keyboards)
This file is used to translate hardware key scan codes to system key names (ALT, SPACE, A, B, C, and so on)
/system/usr/keychars/sholes-querty.kcm (name may also be different ie. snoles-keypad.kcm, more files are for different hardware)
This file is used for telling system what character should be displayed (entered) after pressing a particular key with or without particular modifier keys (what to enter after pressing A, SHIFT+A, ALT+A, META+A, and so on).
Both of these are simple text files, and can be edited directly, to achieve effects you have to reboot system. Also beware! If you mess up with these files, you may disable hardware keyboard completely! Then rescue is overwriting bad files with originals from backup.
options found in android settings -> keyboard (Polish-QWERTY, AZERTY, QWERTZ) work like overlays, if you enable them, the system will use mixture of original kcm file, and the overlay - so depending on what an overlay contents, it may disable some keys you defined in your kcm
So if you want to modify keyboard, you have to disable these overlays, otherwise you will not get any effect (and may become a bit frustrated, like I was before I found this).
I attach my latest files with Polish letters entered with ALT_RIGHT modifier (obtained after holding ALT key), blue symbols entered with ALT (obtained after pressing, then releasing ALT key, and then pressing apropriate letter key), Greek letters with META key (mapped on ALT_LOCK). To have uppercase letters you have to press SHIFT release SHIFT, then ALT+key for Polish letters, or same with META for Greek letters.
To have CAPS, you have to press SHIFT twice. To have ALT_LOCK, you have to press ALT twice.
I'm wondering. Right now I have, let's say, multi-ALT (acting like ALT_RIGHT when held, and like ALT when held and released). Maybe it will be possible to code META in exactly same way, so we'll have another modifier key (META_RIGHT), but that's just an idea, and I haven't researched that yet.
I also wanted to encode arrow characters (right, left, up and down arrows) on META-left, META-right and so on, but also haven't had time to do that yet.
Regards!
Chris
[edit]
Added arrow characters (META+left, META+right, etc). Added not equals sign (ALT+META+G), equal or smaller (ALT+META+Z), qual or greater (ALT+META+X), double tilda (ALT+META+~), euro (META+~).
New files in attachment.
Click to expand...
Click to collapse
Cześć
Thanks for the explanation. Only after Fedroid's suggestion to contact you I have checked the Czechop's CM10.2 thread (found some of your posts there), and found out that you were working on the Polish keyboard. The instruction Fedroid gave me was not working, because I was not using the latest Chechop's CM release. I have now upgraded, and the keyboard is working. However there are some very minor issues:
(I am not using the keys file you posted, but only the features in the rom (23.10.2013).
1. After installation there is no default on-screen keyboard (and you cannot set it). This makes the buttons (Menu, Back, and Search) and the physical keyboard not working at all. The solution is to switch the system to another language and back to Polish. It might be a bug (probably not yours), but I cannot post in the devel threads yet.
2. "Ń" does not work. I remember like 10 years ago I was making a charmap conversion feature for my program, and found out that there was a conflict (of char codes), that "Ń" could not be mapped. I don't remember the details, but I suppose it might be the case here too.
3. Pressing ALT(-Lock) + DEL or ALT(-Lock) and then DEL causes the whole SMS or sentence to be deleted. Since in the SMS app there is no indication of the ALT-Lock state, you can easily do that by an accident and there is no Undo. Is it possible to disable the ALT(-Lock) modifier on the DEL key (so that it will only delete the whole sentence when ALT(-Lock) is pressed together with DEL)?
Thanks for the work you are doing .
Hello.
Czechop has included in his ROM some older version of my files. Without META key, and with ALT_RIGHT mapped to "ALT LOCK" key. Honestly speaking, I cannot tell much about his implementation, since first thing I do after his ROM flash is I overwrite sholes-keypad kl & kcm files with my own (with more features). I also encourage You to do so, since my files seem not to be affected with at least bugs 1 and 2 You presented.
Ad1: I have no problems with on-screen keyboard - if hardware keyboard if closed, on-screen version pops up. Also four capacitive buttons under screen work flawlessly.
Ad2: I have no problems with Ń (right now I've entered it with my hardware keyboard). Czechop told me about some problems with Ń, that system is not able to recognize too big number of keys pressed simultanously, and somehow Ń was suffering, but as you can see I've just entered it for the second time with no problems.
Ad3: I don't know how to fix it. Del key doesn't appear in kcm file, and I don't know how to modify it. And yes, pressing Del+ALT removes whole line, which is quite annoying. I'll do some more investigation, and maybe I'll find something.
Regards! It's nice to see, that at least in the field of MS2 android development Poland has some real power! :-ł
rabinhood said:
Hello.
Czechop has included in his ROM some older version of my files. Without META key, and with ALT_RIGHT mapped to "ALT LOCK" key. Honestly speaking, I cannot tell much about his implementation, since first thing I do after his ROM flash is I overwrite sholes-keypad kl & kcm files with my own (with more features). I also encourage You to do so, since my files seem not to be affected with at least bugs 1 and 2 You presented.
Ad1: I have no problems with on-screen keyboard - if hardware keyboard if closed, on-screen version pops up. Also four capacitive buttons under screen work flawlessly.
Ad2: I have no problems with Ń (right now I've entered it with my hardware keyboard). Czechop told me about some problems with Ń, that system is not able to recognize too big number of keys pressed simultanously, and somehow Ń was suffering, but as you can see I've just entered it for the second time with no problems.
Ad3: I don't know how to fix it. Del key doesn't appear in kcm file, and I don't know how to modify it. And yes, pressing Del+ALT removes whole line, which is quite annoying. I'll do some more investigation, and maybe I'll find something.
Regards! It's nice to see, that at least in the field of MS2 android development Poland has some real power! :-ł
Click to expand...
Click to collapse
Thanks. I finally decided to try your files out, but I have hit a serious problem. When I tried to rename the file /system/usr/keychars/sholes-qwerty.kcm for a backup, I couldn't do it. I tried the ES File Explorer (root mode on), and it showed "the task did not succeed". I also tried typing su then mv sholes-qwerty.kcm sholes-qwerty-old.kcm while in the right directory, and got "Read-only files system".
How do I apply your files?
If czechops rom uses your key mapping files, i like to thank you rabinhood. Works well with german umlauts out of the box. And thanks to this thread I found out how to use them.
Greetings
hamu
kaziq said:
Thanks. I finally decided to try your files out, but I have hit a serious problem. When I tried to rename the file /system/usr/keychars/sholes-qwerty.kcm for a backup, I couldn't do it. I tried the ES File Explorer (root mode on), and it showed "the task did not succeed". I also tried typing su then mv sholes-qwerty.kcm sholes-qwerty-old.kcm while in the right directory, and got "Read-only files system".
How do I apply your files?
Click to expand...
Click to collapse
If you have problems with root access from file manager, I think the easiest and most reliable way to modify system files is:
1. Enter bootloader menu.
2. Select Tools -> USB Mount tools -> Share system
3. It should be recognized and mounted on your PC. (I'm running Linux, I think Windows won't be able to mount ext3/ext4 partition without some extra software.)
4. To copy files you have to be logged as root.
If I want to copy these files from running Android, I use ROM Toolbox Pro -> Root explorer.
---------- Post added at 09:53 AM ---------- Previous post was at 09:45 AM ----------
hamuchen said:
If czechops rom uses your key mapping files, i like to thank you rabinhood. Works well with german umlauts out of the box. And thanks to this thread I found out how to use them.
Greetings
hamu
Click to expand...
Click to collapse
Umlauts are Czechop's job. Say "thank you" to him.
rabinhood said:
If you have problems with root access from file manager, I think the easiest and most reliable way to modify system files is:
1. Enter bootloader menu.
2. Select Tools -> USB Mount tools -> Share system
3. It should be recognized and mounted on your PC. (I'm running Linux, I think Windows won't be able to mount ext3/ext4 partition without some extra software.)
4. To copy files you have to be logged as root.
If I want to copy these files from running Android, I use ROM Toolbox Pro -> Root explorer.
Click to expand...
Click to collapse
Thanks. I used the bootloader and a small linux pc (OpenPandora), and it worked .
But now only the Polish characters work with ALT-hold. Greek does not work (ALT-Lock + key does not produce anything), but ALT-Lock + arrows also work. It doesn't matter for me, because I don't use Greek letters, and this way is more comfortable for Polish chars.
A small quirk: Capital Polich characters work with Shift + ALT + key pressed as well as Shift press and release and then ALT + key. Except for... Ń, which works only with the latter . It's not an issue for me, just a funny notice.
Thanks again for this.
rabinhood said:
Umlauts are Czechop's job. Say "thank you" to him.
Click to expand...
Click to collapse
Ah, ok. Then, nevermind. But thank you anyway for not letting this device die.
Greetings
hamu
kaziq said:
Thanks. I used the bootloader and a small linux pc (OpenPandora), and it worked .
But now only the Polish characters work with ALT-hold. Greek does not work (ALT-Lock + key does not produce anything), but ALT-Lock + arrows also work. It doesn't matter for me, because I don't use Greek letters, and this way is more comfortable for Polish chars.
A small quirk: Capital Polich characters work with Shift + ALT + key pressed as well as Shift press and release and then ALT + key. Except for... Ń, which works only with the latter . It's not an issue for me, just a funny notice.
Thanks again for this.
Click to expand...
Click to collapse
Oh, yes, now I see what's going on with Ń. I haven't noticed it before, as I always press SHIFT, release it, and press ALT+key. Czechop told me that it is some kind of bug in keyboard hardware driver not dealing with too many keys pressed at the same time (but in particular N key).
My Greek letters are working, I don't know what might happen. Just in case I attach again latest version of kl/kcm files. Please copy them over files you have now, and remember to disable any keyboard overlays in CM10.2 settings.
Thanks.

Categories

Resources