elvissteinjr 359 Posted December 11, 2019 Share Posted December 11, 2019 I suppose the alpha keyboard behavior is not further customizable, right? Sticky modifiers sound neat, but I don't like the idea of getting auto-capitalization. I may be overthinking it since it's been a while since my last keyboard phone, but I want a hardware keyboard to get as far away from auto-correct and friends as possible. 1 Quote Link to post Share on other sites
EskeRahn 5,460 Posted December 11, 2019 Share Posted December 11, 2019 9 minutes ago, elvissteinjr said: I suppose the alpha keyboard behavior is not further customizable, right? I would suppose that it was, but do not know for sure. Quote Link to post Share on other sites
Craig 1,435 Posted December 11, 2019 Share Posted December 11, 2019 auto capitilize is usually a separate setting, although didn't notice it yet when I was going thru our device settings. I certainly don't intend to use that. Quote Link to post Share on other sites
SchattengestaIt 559 Posted December 11, 2019 Share Posted December 11, 2019 (edited) I recently found my old keymap files of the Droid 4. Those handle what characters are given out (i.e. o=o, alt+o = ö) and tell the keys how to behave. A lot of information is found at the link(s) EskeRahn provided, thanks for that! Here's the full keychar file, this is an alpha keyboard, so it should have a sticky behaviour for specific keys. However, I can't find proof in it. If somebody can provide me the keypad file(s) of the Pro 1, I could further look into it.https://source.android.com/devices/input/key-character-map-files (top section) helps you locate the file (in this case omap4-keypad.kcm). # Copyright (C) 2010 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # Generic key character map for full alphabetic US English PC style external keyboards. # # This file is intentionally very generic and is intended to support a broad rang of keyboards. # Do not edit the generic key character map to support a specific keyboard; instead, create # a new key character map file with the required keyboard configuration. # type ALPHA ### Basic QWERTY keys ### key A { label: 'A' base: 'a' shift, capslock: 'A' alt: '\u00e4' shift+alt: '\u00c4' ctrl, meta: none } key B { label: 'B' base: 'b' shift, capslock: 'B' ctrl, alt, meta: none } key C { label: 'C' base: 'c' shift, capslock: 'C' ctrl, alt, meta: none } key D { label: 'D' base: 'd' shift, capslock: 'D' ctrl, alt, meta: none } key E { label: 'E' base: 'e' shift, capslock: 'E' alt: '\u20ac' shift+alt: '\u20ac' ctrl, meta: none } key F { label: 'F' base: 'f' shift, capslock: 'F' ctrl, alt, meta: none } key G { label: 'G' base: 'g' shift, capslock: 'G' ctrl, alt, meta: none } key H { label: 'H' base: 'h' shift, capslock: 'H' ctrl, alt, meta: none } key I { label: 'I' base: 'i' shift, capslock: 'I' ctrl, alt, meta: none } key J { label: 'J' base: 'j' shift, capslock: 'J' ctrl, alt, meta: none } key K { label: 'K' base: 'k' shift, capslock: 'K' ctrl, alt, meta: none } key L { label: 'L' base: 'l' shift, capslock: 'L' ctrl, alt, meta: none } key M { label: 'M' base: 'm' shift, capslock: 'M' ctrl, alt, meta: none } key N { label: 'N' base: 'n' shift, capslock: 'N' ctrl, alt, meta: none } key O { label: 'O' base: 'o' shift, capslock: 'O' alt: '\u00f6' shift+alt: '\u00d6' ctrl, meta: none } key P { label: 'P' base: 'p' shift, capslock: 'P' ctrl, alt, meta: none } key Q { label: 'Q' base: 'q' shift, capslock: 'Q' ctrl, alt, meta: none } key R { label: 'R' base: 'r' shift, capslock: 'R' ctrl, alt, meta: none } key S { label: 'S' base: 's' shift, capslock: 'S' alt, alt+shift: '\u00df' ctrl, meta: none } key T { label: 'T' base: 't' shift, capslock: 'T' ctrl, alt, meta: none } key U { label: 'U' base: 'u' shift, capslock: 'U' alt: '\u00fc' shift+alt: '\u00dc' ctrl, meta: none } key V { label: 'V' base: 'v' shift, capslock: 'V' ctrl, alt, meta: none } key W { label: 'W' base: 'w' shift, capslock: 'W' ctrl, alt, meta: none } key X { label: 'X' base: 'x' shift, capslock: 'X' ctrl, alt, meta: none } key Y { label: 'Z' base: 'z' shift, capslock: 'Z' ctrl, alt, meta: none } key Z { label: 'Y' base: 'y' shift, capslock: 'Y' ctrl, alt, meta: none } key 0 { label, number: '0' base: '0' shift: ')' alt: ']' shift+alt: '}' ctrl, meta: none } key 1 { label, number: '1' base: '1' shift: '!' ctrl, alt, meta: none } key 2 { label, number: '2' base: '2' shift: '@' ctrl, alt, meta: none } key 3 { label, number: '3' base: '3' shift: '#' ctrl, alt, meta: none } key 4 { label, number: '4' base: '4' shift: '$' ctrl, alt, meta: none } key 5 { label, number: '5' base: '5' shift: '%' ctrl, alt, meta: none } key 6 { label, number: '6' base: '6' shift: '^' ctrl, alt, meta: none } key 7 { label, number: '7' base: '7' shift: '&' ctrl, alt, meta: none } key 8 { label, number: '8' base: '8' shift: '*' ctrl, alt, meta: none } key 9 { label, number: '9' base: '9' shift: '(' alt: '[' shift+alt: '{' ctrl, meta: none } key SPACE { label: ' ' base: ' ' ctrl: none alt, meta: fallback SEARCH } key ENTER { label: '\n' base: '\n' ctrl, alt, meta: none } key TAB { label: '\t' base: '\t' ctrl, alt, meta: none } key COMMA { label, number: ',' base: ',' shift: ';' alt: '<' ctrl, meta: none } key PERIOD { label, number: '.' base: '.' shift: ':' alt: '>' ctrl, meta: none } key SLASH { label, number: '/' base: '/' shift: '?' alt: '\\' shift+alt: '|' ctrl, meta: none } key GRAVE { label, number: '`' base: '`' shift: '~' ctrl, alt, meta: none } key MINUS { label, number: '-' base: '-' shift: '_' ctrl, alt, meta: none } key EQUALS { label, number: '=' base: '=' shift: '+' ctrl, alt, meta: none } key LEFT_BRACKET { label, number: '[' base: '[' shift: '[' ctrl, alt, meta: none } key RIGHT_BRACKET { label, number: ']' base: ']' shift: ']' ctrl, alt, meta: none } key BACKSLASH { label, number: '\\' base: '\\' shift: '\\' ctrl, alt, meta: none } key SEMICOLON { label, number: ';' base: ';' shift: ';' ctrl, alt, meta: none } key APOSTROPHE { label, number: '\'' base: '\'' shift: '"' alt: '`' shift+alt: '~' ctrl, meta: none } key MEDIA_EJECT { label: '\uEF01' base: '\uEF01' shift, capslock: '\uEF01' ctrl, alt, meta: '\uEF01' } ### Numeric keypad ### key NUMPAD_0 { label, number: '0' base: fallback INSERT numlock: '0' ctrl, alt, meta: none } key NUMPAD_1 { label, number: '1' base: fallback MOVE_END numlock: '1' ctrl, alt, meta: none } key NUMPAD_2 { label, number: '2' base: fallback DPAD_DOWN numlock: '2' ctrl, alt, meta: none } key NUMPAD_3 { label, number: '3' base: fallback PAGE_DOWN numlock: '3' ctrl, alt, meta: none } key NUMPAD_4 { label, number: '4' base: fallback DPAD_LEFT numlock: '4' ctrl, alt, meta: none } key NUMPAD_5 { label, number: '5' base: fallback DPAD_CENTER numlock: '5' ctrl, alt, meta: none } key NUMPAD_6 { label, number: '6' base: fallback DPAD_RIGHT numlock: '6' ctrl, alt, meta: none } key NUMPAD_7 { label, number: '7' base: fallback MOVE_HOME numlock: '7' ctrl, alt, meta: none } key NUMPAD_8 { label, number: '8' base: fallback DPAD_UP numlock: '8' ctrl, alt, meta: none } key NUMPAD_9 { label, number: '9' base: fallback PAGE_UP numlock: '9' ctrl, alt, meta: none } key NUMPAD_LEFT_PAREN { label, number: '(' base: '(' ctrl, alt, meta: none } key NUMPAD_RIGHT_PAREN { label, number: ')' base: ')' ctrl, alt, meta: none } key NUMPAD_DIVIDE { label, number: '/' base: '/' ctrl, alt, meta: none } key NUMPAD_MULTIPLY { label, number: '*' base: '*' ctrl, alt, meta: none } key NUMPAD_SUBTRACT { label, number: '-' base: '-' ctrl, alt, meta: none } key NUMPAD_ADD { label, number: '+' base: '+' ctrl, alt, meta: none } key NUMPAD_DOT { label, number: '.' base: fallback FORWARD_DEL numlock: '.' ctrl, alt, meta: none } key NUMPAD_COMMA { label, number: ',' base: ',' ctrl, alt, meta: none } key NUMPAD_EQUALS { label, number: '=' base: '=' ctrl, alt, meta: none } key NUMPAD_ENTER { label: '\n' base: '\n' fallback ENTER ctrl, alt, meta: none fallback ENTER } ### Special keys on phones ### key AT { label, number: '@' base: '@' } key STAR { label, number: '*' base: '*' } key POUND { label, number: '#' base: '#' } key PLUS { label, number: '+' base: '+' } ### Non-printing keys ### key ESCAPE { base: fallback BACK alt, meta: fallback HOME ctrl: fallback MENU } ### Gamepad buttons ### #(REMOVED) By the way, with such a keypad file, you should also be able to set specific output phrases (i.e. e-mail adresses) for a shortcut (i.e. ctrl+1 or ctrl+alt+1). Needs to be tested though. With the Keylayout file (omap4-keypad.kl), you can change the output of keys and i.e. change the ctrl to alt if you wish to. I'll not post it here since it doesn't have any useful information about this topic. Edited December 11, 2019 by SchattengestaIt Spoilered the fun. 2 1 Quote Link to post Share on other sites
Rud 123 Posted October 19, 2020 Share Posted October 19, 2020 Any way to get sticky shift? By sticky shift I mean, on physical keyboard, press shift>take finger off shift>press a letter and you get the capital version of that letter and if you continue typing the other letters are lowercase (instead of having to press shift and that letter at the same time). Sticky fn would also be great. I didn't find a solution on the forum and this would greatly improve speed and comfort since the keyboard is wide and you have to perform acrobatics for uppercase A,Q,Z or any letters on the left side (also, I am used to this function from my Priv 🙂 ). 1 Quote Link to post Share on other sites
EskeRahn 5,460 Posted October 19, 2020 Share Posted October 19, 2020 You got shift on both sides, so no acrobatics needed used two handed. See e.g this thread https://community.fxtec.com/topic/2282-sticky-modifiers Edit: Merged the threads.... 1 Quote Link to post Share on other sites
OKSun 103 Posted October 19, 2020 Share Posted October 19, 2020 I have the same question under stock android. I have used cyanoged couple of years ago with my droids and got used to this typing. I remember Slion saying "it is not possible to integrate sticky shift in stock android"??? I might have misunderstood. Would be good to clarify! Quote Link to post Share on other sites
Rud 123 Posted October 19, 2020 Share Posted October 19, 2020 1 hour ago, EskeRahn said: You got shift on both sides, so no acrobatics needed used two handed. See e.g this thread https://community.fxtec.com/topic/2282-sticky-modifiers I'll really need to get used to that, but makes sense. (From PC to phones all my triggers for second layers have only been on the left). Quote Link to post Share on other sites
EskeRahn 5,460 Posted October 19, 2020 Share Posted October 19, 2020 @Rud LineageOS got Sticky so you might consider that. But if on stock and rooted, it should be as simple as changing "Full" to "Alpha" for a kcm file, if I understood correctly what the ones that know what they are talking about are saying... Quote Link to post Share on other sites
Swond 120 Posted November 17, 2020 Share Posted November 17, 2020 Is there anything new for unrooted phone? Any solution for sticky modifiers? Quote Link to post Share on other sites
nodokasa 0 Posted December 29, 2022 Share Posted December 29, 2022 I just got my Pro1X and I can confirm, the keys are not sticky - and @EskeRahn's suggestion would be brilliant. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.