Menu

#13 Support customizable key layouts?

Started
nobody
None
Medium
Enhancement
2013-10-18
2011-05-25
Anonymous
No

Originally created by: Klaus.We...@gmail.com
Originally owned by: Klaus.We...@gmail.com

It would be useful if users could customize the key layout, for example switching keys around or modifying the contents of the popup mini keyboards.

This is a bit tricky since the current XML-based keyboard definitions aren't really designed to be modified at runtime, they are compiled into static resources and saved in the APK at build time, and they have some interdependencies including indirections pointing to separate string resources. See for example: http://code.google.com/p/hackerskeyboard/source/browse/java/res/xml/kbd_full.xml

Also, there needs to be a way to save or load modified layouts, but I don't want to add Internet access permission for the keyboard, and would prefer not to have to use SD card access permission. I'm thinking about some other alternatives to handle this.

Related

Tickets: #105
Tickets: #113
Tickets: #116
Tickets: #118
Tickets: #127
Tickets: #148
Tickets: #192
Tickets: #205
Tickets: #206
Tickets: #210
Tickets: #250
Tickets: #34
Tickets: #39
Tickets: #71
Tickets: #84
Wiki: FrequentlyAskedQuestions

Discussion

1 2 > >> (Page 1 of 2)
  • Anonymous

    Anonymous - 2011-06-06

    Originally posted by: k...@bijna.net

    AnySoftKeyboard supports seperately-installed layouts ("language packs"). Since it appears to be licensed under Apache License v2.0, as does Hacker's Keyboard, there should be no legal problem taking the code from there. This would not allow editing layout on the Android device, but would allow layouts to be downloaded from Android Market.
    http://code.google.com/p/softkeyboard/

     
  • Anonymous

    Anonymous - 2011-06-06

    Originally posted by: Klaus.We...@gmail.com

    I'll take a look to see if it's feasible to integrate those, but I'm a bit short on time to work on the project at the moment so it may take a while.

     
  • Anonymous

    Anonymous - 2011-06-07

    Originally posted by: kaishi.a...@gmail.com

    I'd like to state my interest in this feature.  I can understand why it would be difficult to implement, however :)

     
  • Anonymous

    Anonymous - 2011-08-28

    Originally posted by: jcho...@gmail.com

    On a phone, I switch to landscape mode when I need to type something more than a few words/lines. Larger buttons means a little more accuracy.

    It would be convenient to be able to switch to a layout mode which offers large buttons at the cost of fewer buttons on screen.

    Maybe you could have a, built into apk, library of useful custom layouts instead of allowing users to customise at runtime?

     
  • Anonymous

    Anonymous - 2011-08-30

    Originally posted by: tgwa...@gmail.com

    agreed.. unfortunately in landscape mode this keyboard is only useful in connectbot as I will gladly go more slowly to gain all these keys.. but for a text msg or something i need large keys for its not practical.

     
  • Anonymous

    Anonymous - 2011-09-29

    Originally posted by: Klaus.We...@gmail.com

    I think it would be useful to also support special keys as alternates, for example adding Home/End as alternates to the arrow keys. The current string-based alternates don't support that, but the new system ought to be more flexible.

    Cc: -ctayl...@gmail.com

     
  • Anonymous

    Anonymous - 2011-09-30

    Originally posted by: Klaus.We...@gmail.com

    FYI, I'm starting to make progress on this, I have a partial implementation for layout definitions based on simple text files with whitespace-separated entries as a replacement for the XML files. It's currently looking something like this:

    title   English (Dvorak)
    #
    key_tlde        `       ~       ` ~
    key_ae01        1       !       1 ! ¡ ¹ ½ ⅓ ¼ ⅛
    key_ae02        2       @       2 @ ² ⅔
    key_ae03        3       #       3 # ³ ¾ ⅜ ♥ ♠ ♦ ♣
    key_ae04        4       $       4 $ ⁴ ¢ £ € ¥
    key_ae05        5       %       5 % ⅝ ‰
    key_ae06        6       ^       6 ^ ↑ ↓ ← →
    key_ae07        7       &       7 & ⅞ ♪
    key_ae08        8       *       8 * • ★ ∞ † ‡
    key_ae09        9       (       9 ( √
    key_ae10        0       )       0 ) ⁿ °
    key_ae11        [       {       [ {
    key_ae12        ]       }       ] }
    #
    key_ad01        '       "       ' " ‘ ’ “ ”
    key_ad02        ,       <       , < ≤ « ‹
    key_ad03        .       >       > ≥ » › …
    key_ad04        p       P       4 π ₱
    key_ad05        y       Y       5 ý ÿ ¥
    key_ad06        f       F       6 ₣
    key_ad07        g       G       7
    key_ad08        c       C       8 ç č ć ¢
    key_ad09        r       R       9
    key_ad10        l       L       0 £ ₤ λ
    key_ad11        /       ?       / ? ¿
    key_ad12        =       +       = + ≈ ≠ ± × ÷
    key_bksl        \&nbsp;      |       \ |

    (Please don't start making definitions based on this, it's a work in progress.)

    This'll be much easier to maintain, and lets me explicitly load specific layouts on the fly, and I no longer need to deal with the current hard-to-control resource loading mechanism that auto-loads from alternates directories based on the current locale.

    The main improvement is that I can then define keyboard templates (specifying sizes and number of keys) separately from the layout map (assigning glyphs to keys), this provides far more flexibility.

    More later, hopefully I'll have a functioning prototype soon.

    Status: Started

     
  • Anonymous

    Anonymous - 2012-03-23

    Originally posted by: yank555...@gmail.com

    Any news on this ? I'd really be interested to start working on a Swiss-French (ou Luxembourgish) Layout ;-)

     
  • Anonymous

    Anonymous - 2012-03-23

    Originally posted by: Klaus.We...@gmail.com

    Sorry, I haven't had time to work on it due to being too busy. It's still on my roadmap, but I'll need to find some continuous blocks of time to make progress - it isn't feasible to make such large changes in 5-minute blocks.

    In the meantime, I can add language/country layouts based on the XML templates if I get the needed changes as contributions, see the http://code.google.com/p/hackerskeyboard/wiki/AddingNewLayouts page for details. If there's already a similar layout as a starting point, you can use the "Edit file" link in the project source section to make changes. This will prepare a patch for me to integrate. For example, here's the German QWERTZ 5-row layout: http://code.google.com/p/hackerskeyboard/source/browse/java/res/values-de/donottranslate-keymap.xml

    (FYI, I already have automated conversion code mostly working, my goal is that all current layouts will continue to be available after the migration to the new layout definition format.)

     
  • Anonymous

    Anonymous - 2012-04-17

    Originally posted by: eforg...@gmail.com

    I'd like this feature too, for example on the French keyboard, we have some keys which are directly accessibles (; !), but not very useful on a phone. And some are missing in direct access, such as @ or . (dot).

     
  • Anonymous

    Anonymous - 2012-08-14

    Originally posted by: hansi...@gmail.com

    Please add the Swiss-German Layout, please, please

     
  • Anonymous

    Anonymous - 2013-01-25

    Originally posted by: jones...@gmail.com

    I'd like to see user cusomization enabled too - though more specificallly having tab / colon / cursors / full stop all accesible from the 'aplha' keyboard in portrait mode - these are the keys I really use loads in connectbot - but without changing to a full 5 row layout. I guess toggling from the alpha keyboard to a cusomizable one is what I'm after.

    As it stands it's still a great keyboard and on a Nexus 7 the five row layout in portrat is great with connectbot - really couldn't do without it!!

     
  • Anonymous

    Anonymous - 2013-05-26

    Originally posted by: v...@g.nevcal.com

    I'd like to see some progress here... my first Android, a transformer, is on order, so I was looking for Dvorak remapping. Sounds like you have it, hope it works with the dock keyboard too.  But I'd like to add some deadkey support to the standard Dvorak layout (unlikely to already be there...) so this issue seems to be relevant. I'll likely be able to survive the first while with plain Dvorak, but am curious about progress on this issue.

     
  • Anonymous

    Anonymous - 2013-10-15

    Originally posted by: QueenCan...@gmail.com

    I am in the process of creating a keyboard layout that, while still English/US, has some slight changes to have a more grid-like layout, similar to physical thumbpads on mobile devices, e.g., "A" directly underneath "Q" instead of offset between "Q" and "W."

    How would I name this layout so that it does not interfere with existing layouts? I am hesitant to allow anything to replace a stock EN-US QWERTY.

     
  • Anonymous

    Anonymous - 2013-10-16

    Originally posted by: fkru...@gmail.com

    It is my understanding that the issue here refers to the keyboard layout in the sense of assignment of keys to chars, not really about shape and placement of keys themselves. Would it be possible to make 'grid-like' layout a global preference, that would work transparently with all language layouts?

     
1 2 > >> (Page 1 of 2)

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.