Open brandmauer opened 1 year ago
I plan to add styling options in the future but that's not the highest priority.
That are great ideas but the layouts currently are pretty crowded. Would you be able to design a layout with some of these ideas plus all the symbols it already has ?
I'm a designer, not a developer. But if you give me a sample or instructions - I can try ))) I think it's about the xml config file for the buttons? Ready to try to make an English-Russian "turbo config"))
This greatly speeds up typing with abbreviations in another language, for example "english bla-bla-bla "АБВ" company" and same cases. This is "killer-feature" )))
I have made a step in your direction with a6fe5ca. I wrote some explanation in qwerty.xml.
Wow! Exactly what is needed!
I wrote rus-eng layout, but not all work for me. (((
1) Errors
a) Swipe keys with invisible modifier "loc " - not work b) Not all "swipe directions" work c) on emoji screen "backspace" button - dont work autorepeat (long press) d) some symbols disappear in landscape mode e) wrong horizontal spacing between buttons in landscape mode
2) Idea:
show only one symbol in "position 3", for "twin symbols" such as <> ( ) { } [ ] / \ - second symbol invisible in "position 1" (Same as capital letters: f-F -show only first symbol in "position 3 and 0", second symbol invisible in "position 1 and 7") 1 7 2 5 0 6 3 8 4
3) Idea:
If you have (in future) hundreds layouts- maybe better change syntacsis from
<key key0="ц" key1="loc shift W" key2="1" key3="w" key5="loc left" key6="loc right" key7="loc shift Ц" key8="loc ц"/>
to array
<key0=ц,W,1,,,w,1,w,left,right,Ц> (or same)
This thought save space and decrease application size.
. 4) Idea.
Allow users to create and upload Layouts and Themes themselves )))))
. 5) Theme:
I wrote and add simple flat style a-la MultiLing:
<style name="MultiLing" parent="@style/BaseTheme">
<item name="android:isLightTheme">false</item>
<item name="colorKeyboard">#ff050d0f</item>
<item name="colorKey">#ff272e30</item>
<item name="colorKeyActivated">#ff315678</item>
<item name="colorLabel">#ffffffff</item>
<item name="colorLabelActivated">#ffffffff</item>
<item name="colorLabelLocked">#ffffffff</item>
<item name="secondaryLightOffset">-0.0</item>
<item name="colorSubLabel">#ff6695a5</item>
<item name="keyBorderWidth">0.0dip</item>
<item name="keyBorderWidthActivated">0.0dip</item>
<item name="keyBorderColorBottom">#ff333333</item>
<item name="emoji_button_bg">#ff202020</item>
<item name="emoji_color">#ffffffff</item>
</style>
6) Layout:
local_ru_jcuken.xml - draft version 1.0 (key4 reserved for "Ctrl mod' or something else ??? )
<?xml version="1.0" encoding="utf-8"?>
<keyboard>
<row>
<key key0="й" key1="Q" key2="esc" key3="q" key5="loc left" key6="loc right" key7="Й" key8="loc й"/>
<key key0="ц" key1="W" key2="1" key3="w" key5="loc left" key6="loc right" key7="Ц" key8="loc ц"/>
<key key0="у" key1="E" key2="2" key3="e" key5="loc left" key6="loc right" key7="У" key8="loc у"/>
<key key0="к" key1="R" key2="3" key3="r" key5="loc left" key6="loc right" key7="К" key8="loc к"/>
<key key0="е" key1="T" key2="4" key3="t" key5="loc left" key6="loc right" key7="Е" key8="loc е"/>
<key key0="н" key1="Y" key2="5" key3="y" key5="loc left" key6="loc right" key7="Н" key8="loc н"/>
<key key0="г" key1="U" key2="6" key3="u" key5="loc left" key6="loc right" key7="Г" key8="loc г"/>
<key key0="ш" key1="I" key2="7" key3="i" key5="loc left" key6="loc right" key7="Ш" key8="loc ш"/>
<key key0="щ" key1="O" key2="8" key3="o" key5="loc left" key6="loc right" key7="Щ" key8="loc щ"/>
<key key0="з" key1="P" key2="9" key3="p" key5="loc left" key6="loc right" key7="З" key8="loc з"/>
<key key0="х" key1="[" key2="0" key3="]" key5="loc left" key6="loc right" key7="Х" key8="loc х"/>
</row>
<row>
<key key0="ф" key1="A" key2="\@" key3="a" key5="loc left" key6="loc right" key7="Ф" key8="loc ф"/>
<key key0="ы" key1="S" key2="\#" key3="s" key5="loc left" key6="loc right" key7="Ы" key8="loc ы"/>
<key key0="в" key1="D" key2="$" key3="d" key5="loc left" key6="loc right" key7="В" key8="loc в"/>
<key key0="а" key1="F" key2="%" key3="f" key5="loc left" key6="loc right" key7="А" key8="loc а"/>
<key key0="п" key1="G" key2="&" key3="g" key5="loc left" key6="loc right" key7="П" key8="loc п"/>
<key key0="р" key1="H" key2="|" key3="h" key5="loc left" key6="loc right" key7="Р" key8="loc р"/>
<key key0="о" key1="J" key2="_" key3="j" key5="loc left" key6="loc right" key7="О" key8="loc о"/>
<key key0="л" key1="K" key2="-" key3="k" key5="loc left" key6="loc right" key7="Л" key8="loc л"/>
<key key0="д" key1="L" key2=";" key3="l" key5="loc left" key6="loc right" key7="Д" key8="loc д"/>
<key key0="ж" key1="Ё" key2=":" key3="ё" key5="loc left" key6="loc right" key7="Ж" key8="loc ж"/>
<key key0="э" key1="Ъ" key2=""" key3="ъ" key5="loc left" key6="loc right" key7="Э" key8="loc э"/>
</row>
<row>
<key width="1.18" key0="shift" key2="loc capslock" key3="meta" />
<key width="0.96" key0="я" key1="Z" key2="`" key3="z" key5="loc left" key6="loc right" key7="Я" key8="loc я"/>
<key width="0.96" key0="ч" key1="X" key2="~" key3="x" key5="loc left" key6="loc right" key7="Ч" key8="loc ч"/>
<key width="0.96" key0="с" key1="C" key2="€" key3="c" key5="loc left" key6="loc right" key7="С" key8="loc с"/>
<key width="0.96" key0="м" key1="V" key2="-" key3="v" key5="loc left" key6="loc right" key7="М" key8="loc м"/>
<key width="0.96" key0="и" key1="B" key2="+" key3="b" key5="loc left" key6="loc right" key7="И" key8="loc и"/>
<key width="0.96" key0="т" key1="N" key2="=" key3="n" key5="loc left" key6="loc right" key7="Т" key8="loc т"/>
<key width="0.96" key0="ь" key1="M" key2="!" key3="m" key5="loc left" key6="loc right" key7="Ь" key8="loc ь"/>
<key width="0.96" key0="б" key1="<" key2="\?" key3=">" key5="loc left" key6="loc right" key7="Б" key8="б"/>
<key width="0.96" key0="ю" key1="(" key2="*" key3=")" key5="loc left" key6="loc right" key7="Ю" key8="ю"/>
<key width="1.18" key0="backspace" key1="f11_placeholder" key2="delete" key3="alt" key5="loc left" key6="loc right" key7="loc up" key8="loc down"/>
</row>
</keyboard>
7) Need help:
Need your advice for change color "sub symbols" to other. (maybe "color" and "size" mod for keys?).
P.S. If i remove "loc" mod- some buttons begin to work, but visual style is poor
Maybe my idea is bad and it is better to leave only a diagonal swipe, to avoid false key presses? What do you think?
1 7 2 1 2
5 0 6 > 0
3 8 4 3 4
Spacing between keys on the third row doesn't look wrong. These keys are specified to be smaller with width="0.96"
.
You are not using the loc
prefix correctly. The loc
modifier is for example to add French accents on the English layout. English users don't want to see them and French users like the English layout when programming.
In your case, you shouldn't use it.
The size of the symbols on the keyboard is currently defined globally, per symbol. It is controlled by flag FLAG_SMALLER_FONT
in KeyValue.java
.
The flag FLAG_SECONDARY
can make a symbol dimmer but it is not possible to specify a color. You'd need to modify the rendering code (Keyboard2View.java
).
Maybe my idea is bad and it is better to leave only a diagonal swipe, to avoid false key presses?
Positions 5-8 are used for arrow keys, the space bar and others. Also, you asked for it. If you think they increase false key presses, you can perhaps remove the capital letters ?
In your case, you shouldn't use it.
- Really need "invisible and working(!) button" for layout- same as "
loc
" modifier. How to do it?Positions 5-8 are used for arrow keys, the space bar and others
- They still dont work )))
====
Other things are not important....this is cosmetic improvement only.
An example of a simplified scheme. If it will be possible to make some letters invisible (and at the same time working), I will correct the scheme.
There's no concept of "invisible and working button", you need to code it.
What do you mean by they don't work ?
I think we have problems with the translation))
A much needed modifier "hide_label
"(same as "loc") to hide the label of the letters. (for example: see the photo above - for capital letters.)
At the moment, all letters with 'loc' - do not work. Using 9 visible letters on one button its "visual madness"! )))
Gboard handles case-changing like this:
A similar implementation would add the functionally without adding visual clutter or more keys. If you do so, a larger string size would be appreciated. (BTW this is SUCH a cool keyboard!! The "Case Cycling" is one of the VERY few GBOARD features I miss).
Alternately, as a per-key option, you could add a setting to switch "hold for repeat" with "hold for Capital". Holding the 'a' key would produce 'A' instead of 'aaaaaa…'. This would also aboid extra clutter, and serve as a way to disable auto-repeat if desired.
@senselocke That's very interesting, thanks! The keyboard doesn't do any editing at the moment, which is a long standing issue https://github.com/Julow/Unexpected-Keyboard/issues/242
Is anyone interested in implementing the "hide label" or "hold for capital" ?
I take @Julow's side. Erasing a word and RETYPING it in capitals is a "do-what-I-meant" function that conflicts with his stated philosophy (first word of program description is "lightweight"). Such editing belongs in the editor, not the keyboard.
In moving swipe assignments away from the edges of the keyboard (see my #354), I too had problems when a regular-sized key had both north and northwest swipes. The solution is not to use this option, not for Julow to remove it.
I second OP's desire for more control over appearance, though this is at a low priority. To really dream: Any keyboard, row, or key could have STYLE="…" (including gradients) like CSS. I have no interest in making the legends disappear!
One user's perfection is another user's annoyance. I think the existing ability to customize is the right solution. My personal layout already would seem "cluttered" to others—but with exactly the characters I want to type!
PS—If redesign of the XML is on the table, using compass-points rather than 1 thru 8 eliminates some needless thinking. So— [key key="р" nw="H" ne="|" sw="h" w="loc left"]
But this is hardly crucial, and breaks existing files in this codebase and on many people's phones unless you support both versions.
@Spike-from-NH An editing mode might be challenging to implement in a lightweight way but it's still possible.
I am not against more advanced styling but I don't like the idea of specifying the style in the layouts. The themes and the layouts are currently separated and I would like to keep it that way. However, styling keys differently depending on what are on them or a "class" system like in HTML might be interesting.
using compass-points rather than 1 thru 8 eliminates some needless thinking.
I like this idea. These could be added as alias to the current key1..key8, which could be deprecated on a longer timescale.
Contributions welcome !
@Julow, good point, you could support nw= as well as key1= and you would not even have to deprecate or eventually remove the old format. I presume the inefficiency of checking for two alternatives is not massive nor something the app has to do continually.
Your point is valid that theme vs. key layout are separate. But, for instance, if I wanted a different look for my meta-keys (Shift, Alt, Ctrl, etc.), the layout file would specify which they are (with something like CLASS=) while the theme file specified how they look (with something like CSS). If you eventually supported style information in the layout, it would override the theme.
I agree a lot of new, not-strictly-keyboard features are "possible"—but "lightweight" is your chosen value and you should stick with it!
All versions 1.2 have light "buttons shadows" in dark theme. "Flat button look" in version 1.19 (and your screenshots )- MORE better (imho) Please return (or add?) "flat theme" in new version. And maybe "color adjustment settings" for accented letters?
Please, add more power for gestures. For example:
swipe up- capitalize letter swipe down- small letter (for "capslock layout") swipe up-right- letter from "second layout" (capital) swipe up-left- letter from "second layout" (small letter) swipe down-left- "Ctrl" mod for buttons (for "ctrl+c" "ctrl+v" "ctrl+z" "ctrl+a" and other actions etc) swipe left- move cursor to left (or backspace?) swipe right- move cursor to right (or delete?) swipe down-right- accented letters (?)
My gestures is only for example. I think -this tricks add more speed for keyboard.