• You are not logged in.

    Try keyboard layouts in browser

    • Started by mikekuehn
    • 14 Replies:
    • Reputation: 0
    • From: Canada
    • Registered: 29-Nov-2012
    • Posts: 13

    I posted this on geekhack and deskthority just now, so sorry to those who frequent those forums.

    http://mikekuehn.ca/posts/keyboard-layouts/

    28 layouts up there now.  Please report any bugs or layout / feature requests. :)

    Last edited by mikekuehn (23-Jul-2014 04:02:22)

    I work for Keyboardio and post code on GitHub

    Offline
    • 0
    • Reputation: 0
    • Registered: 04-Apr-2013
    • Posts: 538

    I've been looking for a way to visualize typing in other layouts (e.g. setting Norman -> Norman to see what typing prose in Norman "looks like").  Very cool!

    Feature requests:

    1. Playback: so that we don't have to type everything in ourselves, allow for text to be inserted then "played back" at user-specified characters per minute.  Especially great for observation/hypnosis.

    2. Custom layouts (import/export of the javascript format shouldn't be too hard to figure out, and can be shared with others/submitted to you for inclusion).

    Users of key-capturing programs like vimperator might get confused: the letters don't register in the image, but are still typed into the text box.  Perhaps a small warning message is in order?  (Weirdly enough, it works with vimium.)

    Offline
    • 0
    • Reputation: 0
    • From: Canada
    • Registered: 29-Nov-2012
    • Posts: 13

    Thanks for the feedback lalop - that playback idea is pretty neat!

    Not sure how to implement the custom layouts as far as saving them - perhaps a really long URL fragment, google maps style?  It's a static site.  You wouldn't be able to add layouts to the list, but you could share them via a link.

    In order to make the custom layouts, I should allow editing of the key labels perhaps.  Food for thought.

    And thanks for letting me know about vimperator.  Does it work in 'insert' mode?

    I work for Keyboardio and post code on GitHub

    Offline
    • 0
    • Reputation: 7
    • Registered: 21-Apr-2010
    • Posts: 818

    I never printed out the layout, or changed my keycaps on my main keyboard, so it's actually really weird to see the layout I use in action.  And it makes me look quite fast too!

    I'd like to feed it a passage of text, and watch a ghost typer go at it as lalop suggests.  It might even make for a good learning tool: you could try and keep up with the ghost.

    --
    Physicians deafen our ears with the Honorificabilitudinitatibus of their heavenly Panacaea, their sovereign Guiacum.

    Offline
    • 0
    • Reputation: 0
    • Registered: 04-Apr-2013
    • Posts: 538
    mikekuehn said:

    Not sure how to implement the custom layouts as far as saving them - perhaps a really long URL fragment, google maps style?  It's a static site.  You wouldn't be able to add layouts to the list, but you could share them via a link.

    I was thinking of an "import"/"export" function similar to patorjk's analyzer: have an extra text box where "exporting [source/target] layout" gives you a JSON(?) representation of the layout, and you can "import" your own JSON representations.  Importing would only affect the current session, but the user could export their own JSON strings for saving or sharing.

    Editing of the key labels...can't argue with that, I suppose :)  Another feature request that might go well with this is allowing the color (.key ; .keyinner ; .key.pressed ; .key.pressed .keyinner) to be changed per-key; it's often tough to notice, e.g. same-finger, same-hand usage, and coloring e.g. the fingers, hands would allow us to much more easily see this.  The color changes could then be stored in the JSON import/export as well, to be shared with yourself or others.

    Vimperator doesn't work in either insert or textarea mode as far as I can see.  I only got it to work in "pass through mode", i.e. temporarily disabling it.

    Bug report:

    1. Firefox only: -_+= don't seem to trigger (as far as I can tell, all the other symbols work)

    2. Firefox and chromium: Setting Carpalx QGMLWB -> Carpalx QGMLWB, then pressing v, seems to "jam" that key in the image.  Something similar happens for Carpalx QGMLWY with v and sometimes other keys.

    Last edited by lalop (06-Jun-2014 10:06:41)
    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,364

    This is brilliant! And thanks for including the Tarmak layouts.

    If coloring is included, the Tarmak layouts could subtly show what's changed for each step. :)

    Every space press results in a new line in the text box. I don't suppose that's the way it should be? Happens whether I use PKL or not, it seems – although PKL leads to some weirdness such as the '" key registering as '@ (which I never mapped myself). Also, the QWERTY semicolon key behaves strangely, jumping to the previous line for me. I know there might be trouble with that as it's defined as an OEM_ key and is different between ANSI and ISO boards, but the others seem to be fine so I'm not sure? (And oh yes, this is in Firefox.)

    Last edited by DreymaR (06-Jun-2014 11:46:31)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 0
    • Registered: 04-Apr-2013
    • Posts: 538

    DreymaR: just had the coolest gif idea. Using the ghost typer, start with 5-10 seconds of typing QWERTY high speed, then Tarmak 1, then Tarmak 2,... then finally Colemak.

    Offline
    • 0
    • Reputation: 0
    • From: Canada
    • Registered: 29-Nov-2012
    • Posts: 13
    lalop said:

    Vimperator doesn't work in either insert or textarea mode as far as I can see.  I only got it to work in "pass through mode", i.e. temporarily disabling it.

    Bug report:

    1. Firefox only: -_+= don't seem to trigger (as far as I can tell, all the other symbols work)

    2. Firefox and chromium: Setting Carpalx QGMLWB -> Carpalx QGMLWB, then pressing v, seems to "jam" that key in the image.  Something similar happens for Carpalx QGMLWY with v and sometimes other keys.

    Bugs fixed:
    - Vimperator now works.
    - Spacebar and semicolon should now be fixed cross-browser.  (Not sure about PKL, please report if its still an issue.)
    - "-", "_", "=", "+" all tested without problems in Chrome and Firefox

    Bugs remaining:
    - CarpalX layouts.  I actually just input the layouts wrong - you'll see there are two 'V' keys in each!  That explains why it's acting strangely.

    Feature requests:
    - Import/export: I will check out patorjk's page.  Check out the page source and you'll see the notation I'm using for layouts.
    - Coloring keys: I had planned this, per hand / per finger - to be globally toggleable.  I don't see much benefit in storing the colors per-layout though - correct me if I'm wrong!

    Here's my feature request list as it stands:

    Bugs
    ----
    captures keyboard shortcuts: need to unbind keys when CTRL is pressed
    
    Requested layouts
    -----------------
    neo2
    adnw
    qwertz
    azerty
    bepo
    DHIATENSOR
    
    Requested features
    ------------------
    sorting layouts: alphabetically, by popularity, by language, by design goals...
    playback: "allow for text to be inserted then "played back" at user-specified characters per minute."
    custom layouts: shareable (serialized JSON in URL fragment?) - would need an editor too
     - import/export JSON
    altgr support: neo2 has 6 layers!!
    
    Possible features
    -----------------
    provide sample text: typing tutor style
    highlight keys when in tutor mode
    colorize left/right hands
    colorize per finger
    switch onscreen keyboard layout (support keyboard layout creator? or just add EU-ISO)
    measure typing speed (and accuracy in tutor mode)
    add peripheral keys, modifiers (tilde, tab, caps, shift, ctrl, alt, super, space, enter, bkspc, etc)

    I work for Keyboardio and post code on GitHub

    Offline
    • 0
    • Reputation: 0
    • Registered: 04-Apr-2013
    • Posts: 538

    Even having to type manually, I've already found the tool useful for spotting common awkward sequences (e.g. "oul" in Workman) and getting a vague impression of rolls.  Looking forward to the changes!

    Come to think of it, I guess I do agree that treating the colorscheme separately from the layout would be better.  For example, you could import a colorscheme where QWERTY C is "assigned to" the index finger, and it would just work across all key layouts.  It would also avoid having to remake a colorscheme per layout (unlike, say, with patorjk's format).  I like it!

    Vimperator does indeed work now, thanks. 

    Weird, -_+= still don't trigger for me in Firefox 29 (Ubuntu) even with no plugins.  No biggie, I guess.

    Last edited by lalop (07-Jun-2014 12:53:43)
    Offline
    • 0
    • Reputation: 0
    • From: Canada
    • Registered: 29-Nov-2012
    • Posts: 13

    CarpalX layouts fixed, French layouts added (azerty,bepo)

    Project moved to its own github repository: https://github.com/mikekuehn/keyboard-layouts/

    Lalop, I can't replicate that bug in Firefox 29, on Windows or in Arch Linux.  Strange!

    I work for Keyboardio and post code on GitHub

    Offline
    • 0
    • Reputation: 2
    • Registered: 25-Oct-2013
    • Posts: 136

    @mikekuehn - I'd like to try out some layouts that I'm making. I looked at the GitHub files, and found the layouts. I could change them or add my own, and run the program locally.

    But - this may be a dumb question - how do I build the program? (I'm using linux)  Thanks !

    Offline
    • 0
    • Reputation: 0
    • From: Canada
    • Registered: 29-Nov-2012
    • Posts: 13

    Hi Pieter,

    Did you try following the installation instructions?

    git clone https://github.com/mikekuehn/keyboard-layouts
    cd keyboard-layouts
    npm install
    docpad run

    You will need node.js and git.  https://learn.bevry.me/node/install#on- … fedora-etc-

    I work for Keyboardio and post code on GitHub

    Offline
    • 0
    • Reputation: 2
    • Registered: 25-Oct-2013
    • Posts: 136

    Mike, sorry, i forgot to thank you - so Thanks! I'll post how it goes.

    Offline
    • 0
    • Reputation: 2
    • Registered: 25-Oct-2013
    • Posts: 136

    OK Mike, I installed git and node.js. I cloned your program (git clone andsoforth...)
    npm install gives me lots of errors. I'll dive into it...

    Edit: after some googling, I removed the tmp file in /home and installed npm as root.  That is, sudo install npm  Now it seems to install fine, just one error (npm WARN package.json no-skeleton.docpad@0.1.0 No repository field.)

    Edit2: how do I run this thing? yes I'm a noob.... Oh well, I'll research tomorrow...

    Last edited by pieter (13-Jul-2014 20:35:24)
    Offline
    • 0
    • Reputation: 0
    • From: Canada
    • Registered: 29-Nov-2012
    • Posts: 13
    pieter said:

    Edit: after some googling, I removed the tmp file in /home and installed npm as root.  That is, sudo install npm  Now it seems to install fine, just one error (npm WARN package.json no-skeleton.docpad@0.1.0 No repository field.)

    You are better off installing as a regular user, see https://learn.bevry.me/node/install.  Should still work though, that warning happens for me too.

    pieter said:

    Edit2: how do I run this thing? yes I'm a noob.... Oh well, I'll research tomorrow...

    docpad run

    I work for Keyboardio and post code on GitHub

    Offline
    • 0