[Feature Request] Customize shown names of keys (Create a BLANK KEYBOARD)
Have you seen Blank Keyboard ?
It's just a keyboard but with the keys hidden.
That's what I want to re-create, since unexpected keyboard has lots more features.
Request
I want to be able to customize the shown name on the keyboard, maybe replace names with a blank space, i.e in place of key e, the keyboard shows a blank key, but when the key is clicked, it sends e still, basically how the blank keyboard works.
As you can see, it does not show the keys. Its just based on muscle memory.
This is already possible with the recently added syntax.
To blank the "e" key, define: <key c=" :e" />. In the quoted string, everything to the left of the colon (one space) is the keytop legend.
Documented at Possible-key-values.md
This is already possible with the recently added syntax.
To blank the "e" key, define:
<key c=" :e" />. In the quoted string, everything to the left of the colon (one space) is the keytop legend.Documented at Possible-key-values.md
This is great, I shall now create a blank querty (for nerds, because.....why not)
Thanks btw...
This is already possible with the recently added syntax.
To blank the "e" key, define:
<key c=" :e" />. In the quoted string, everything to the left of the colon (one space) is the keytop legend.Documented at Possible-key-values.md
Yeah, there is just one problem, after hiding keys with the new syntax i.e
<key c=" :e"/>
HIDDEN KEYS RE-APPEAR ON SHIFT PRESS
i.e
Before clicking shift
After clicking shift
Failed solution
I tried using uppercase keys in the xml instead of lowercase i.e
<key c=" :E"/>
And it almost worked.
Pressing the shift key did not make the hidden keys re-appear...
But now sending a key sequence like <ctrl>+e sends <ctrl>+<shift>+e instead.
So that clearly does not work.
Complete xml used for this test.
<?xml version="1.0" encoding="utf-8"?>
<!-- This file defines the QWERTY-BLANK (US) layout.
A layout is made of keys arranged into rows. Each keys can be assigned several
symbols.
'key0' assigns the symbol on the middle of the key. 'nw', 'ne', etc.. assign
symbols to the corners of a key, they are arranged following the cardinal
directions:
nw n ne
w c e
sw s se
Symbols prefixed with 'loc ' are not visible on the keyboard. They are used to
specify a place for a key, if it needed to be added to the layout later.
(for example, by the "Add keys to keyboard" option)
Keys can be made bigger with the 'width' attribute and blank space can be added
on the left of a key with the 'shift' attribute.
See res/xml/bottom_row.xml for the definition of the bottom row and
doc/Possible-key-values.md for the keys that have a special meaning. -->
<keyboard name="QWERTY-BLANK (US)" bottom_row="false" script="latin">
<row>
<key c=" :q" ne=" :1" se="loc esc"/>
<key c=" :w" nw="~" ne=" :2" sw="\@"/>
<key c=" :e" nw="!" ne=" :3" sw="\#" se="loc €"/>
<key c=" :r" ne=" :4" sw="$"/>
<key c=" :t" ne=" :5" sw="%"/>
<key c=" :y" ne=" :6" sw="^"/>
<key c=" :u" ne=" :7" sw="&"/>
<key c=" :i" ne=" :8" sw="*"/>
<key c=" :o" ne=" :9" sw="(" se=")"/>
<key c=" :p" ne=" :0"/>
</row>
<row>
<key shift="0.5" c=" :a" nw="loc tab" ne="`"/>
<key c=" :s" ne="loc §" sw="loc ß"/>
<key c=" :d"/>
<key c=" :f"/>
<key c=" :g" ne="-" sw="_"/>
<key c=" :h" ne="=" sw="+"/>
<key c=" :j" se="}" sw="{"/>
<key c=" :k" sw="[" se="]"/>
<key c=" :l" ne="|" sw="\\"/>
</row>
<row>
<key width="1.5" c=" :shift" ne="loc capslock"/>
<key c=" :z"/>
<key c=" :x" ne="loc †"/>
<key c=" :c" ne="<" sw="."/>
<key c=" :v" ne=">" sw=","/>
<key c=" :b" ne="\?" sw="/"/>
<key c=" :n" ne=":" sw=";"/>
<key c=" :m" ne=""" sw="'"/>
<key width="1.5" c=" :backspace" ne="delete"/>
</row>
<row>
<key width="1.7" key0=" :ctrl" key1="loc switch_greekmath" key2="fn" key3="loc switch_clipboard" key4="switch_numeric"/>
<key width="1.1" key0=" :meta" key1="loc alt" key2="loc change_method" key3="switch_emoji" key4="config"/>
<key width="4.4" key0=" :space" key7="switch_forward" key8="switch_backward" key5="cursor_left" key6="cursor_right"/>
<key width="1.1" key0=" :loc compose" key7="up" key6="right" key5="left" key8="down" key1="loc home" key2="loc page_up" key3="loc end" key4="loc page_down"/>
<key width="1.7" key0=" :enter" key1="loc voice_typing" key2="action"/>
</row>
</keyboard>
You should be able to override the Shift key for the hidden letters:
<?xml version="1.0" encoding="utf-8"?>
<keyboard name="QWERTY-BLANK (US)" bottom_row="false" script="latin">
<modmap>
<shift a=" :a" b=" :A"/>
<shift a=" :b" b=" :B"/>
<shift a=" :c" b=" :C"/>
<shift a=" :d" b=" :D"/>
...
</modmap>
<row>
...
</row>
</keyboard>
I think a better way would be to make a theme: https://github.com/Julow/Unexpected-Keyboard/blob/master/res/values/themes.xml I think that you should be able to specify colors with the alpha channel set to 0 and to rebuild the app.
I think a better way would be to make a theme: https://github.com/Julow/Unexpected-Keyboard/blob/master/res/values/themes.xml I think that you should be able to specify colors with the alpha channel set to 0 and to rebuild the app.
I actually made a theme file with the new syntax, turns out there are many oversights with this idea that require refactoring or re-implementation in the app.
- The symbols still show up, defeating the whole purpose
- Its much better if the colors were directly customizable with hex color codes
- etc..
the whole point was to create a glassy-transparent future like keyboard theme with no keys yet having the best features of Unexpected-Keyboard like...(i know there are keyboards which have this already, but this one has features i'm too used to)
- key repeat..(my fav)
- swipe for numbers
- etc..
I cant currently submit pr because my java is rusty and i have my plate full right now to give it time...
But it would be very much great if someone did it.
Lots of appreciation for the contributors btw