Skip to content

Releases: ijprest/keyboard-layout-editor

0.15

05 Aug 04:40
Compare
Choose a tag to compare

_Version 0.15:_ Aug 4, 2015

  • Now using GitHub Gists for storage:
    • In order to save layouts, you now need to sign in to GitHub via OAuth.
    • Once signed in, clicking 'Save' will store your layout as a GitHub Gist.
      • Unlike before, if you modify your layout and save again, a new
        revision of your Gist is created.
      • You can now share a link to your layout and it will be stable over time
        as you make edits to it.
    • All Gists are created as 'Private'; this means that nobody can see it
      unless you share the link.
  • If you make modifications to another user's layout and try to save, you
    will be prompted to create a "fork" under your own account.
    • The link between your copy and the original copy is maintained.
    • Note that you can only have one fork of any given layout; if you try
      to fork it a second time, you will end up overwriting your first fork
      (though history is maintained, so you won't lose any data). This appears
      to be a limitation in how GitHub Gists work.
  • Get a list of all your saved layouts; go to 'My Layouts' in the user menu.
  • "Star" & "Unstar" your favorite layouts; go to 'Starred Layouts' in the
    user menu to go back to layouts you previously starred.
  • New "background" options: (Thanks iandoug!)
    • You can now add a background 'texture' to your layout to simulate the
      look of various materials (e.g., wood, aluminum, etc.).
    • You can now set the corner radius of your layout to better simulate
      the look of non-rectangular keyboards.
  • You can now add 'decals' to your layout:
    • These are purely decorative additions to the layout, and have many uses
      (e.g., keyboard logos, 'caps lock' LEDs, labels, etc.)
    • They have many of the same formatting options as regular keycaps, but
      they don't render any keycap background.

0.14

01 Aug 18:56
Compare
Choose a tag to compare

_Version 0.14:_ Aug 1, 2015

  • Custom Styles
    • You can now define custom styles for your keyboard using CSS
    • Custom Styles tab is used to edit the style (similar to the Raw-Data tab)
    • This allows you to do some fancy things like change fonts and define
      custom glyphs.
    • CSS is parsed & sanitized to prevent certain types of abuse.
    • Linked to some documentation on the Wiki on how to use the custom styles.
  • Character Picker
    • New Character Picker dropdown on the main bar (next to Color Swatches)
    • Displays a grid of characters/glyphs corresponding to the menu option.
    • The list can be filtered/searched to quickly find the glyph you're
      looking for.
    • Selecting a glyph will show you the HTML-code to put into your legend.
      Alternatively, you can drag & drop a glyph to any of the legend editors.
    • Created initial glyph sets for the named HTML entities, a bunch of
      combining diacritical marks, and all the Font Awesome icons.
    • You can also show any glyphs defined in your custom stylesheet, so long
      as they adhere to the "Font Awesome" pattern.
  • Updated the Commodore VIC-20 sample to use a custom stylesheet
    • Demonstrates how to use your own fonts, and how to create custom glyphs
      in the correct format so that they appear in the character picker.
  • Added a button to swap the primary & secondary rectangles that define an
    oddly-shaped key (like the big-ass Enter, etc.).
    • It's next to the width/height fields, and looks similar to the swap
      colors button.
    • The actual shape of the keycap is unchanged, but the positioning of
      labels is always based on the primary rectangle, so the button lets you
      quickly toggle between the two options.

0.13

07 Aug 03:44
Compare
Choose a tag to compare

_Version 0.13:_ Jul 27, 2015

  • Big changes to the UI for entering text legends:
    • Nobody understood the centering checkboxes... they're gone now.
    • You can now put text legends in any position, in any combination.
    • You can override the color & font-size on any legend, in any combination.
    • The alignment flags are still used in the raw-data; should be fully
      backwards-compatible with your old saved layouts.
  • Added the ability to make keys into "homing" keys, which usually adds a "nub"
    to the key, except in SA/DSA where they render as a deep-dish key.
  • SA profile rendering tweaked to be slightly different from DSA (sits higher)
  • New OEM profile (renders the same as DCS).
  • Experimental SVG export!
    • No text labels, no homing-key support, not to scale
  • Fixed an issue generating bad permalinks (#83).
  • A bunch of under-the-hood changes to the code & engineering process to make
    future changes easier.

0.12

07 Aug 03:48
Compare
Choose a tag to compare

_Version 0.12:_ Jul 5, 2015

  • Added the ability to set different colors on each label.
    • Useful for certain foreign-language keyboards that have multi-colored
      legends.
    • The first label supplies the 'primary' color; any label that hasn't
      overridden the color will use the first one.
  • New color picker (more browser support than input type="color").
    • Added color picker beside each label field.
  • Can also drag from the palette to each of the label fields.
  • Added a simple 'Options' dialog; contains options to change the default
    move/size/rotate step sizes.
  • New keyboard metadata fields: Keyboard Name, Author, and Notes
  • Fixed a couple of serialization issues dealing with rotated clusters (#57, #61)
  • Updated to newer versions of various libraries (Bootstrap, etc.)
  • Some behind-the-scenes refactoring to improve code quality and maintainability.

0.11

07 Aug 03:49
Compare
Choose a tag to compare

_Version 0.11:_ Jul 1, 2015

  • Added ability to upload & download raw data in JSON format
    • This is "real" JSON, not the lenient JSON that the raw-data editor uses
    • To upload, you can either use the 'upload' button, or drag & drop to either
      the raw-data editor, or the main keyboard preview area.
  • Added link to raw-data syntax from the raw-data tab.
  • Added links to CHANGELOG, CONTRIBUTORS, and LICENSE files.
  • Pressing F1 now shows the help screen.
  • Fixed bug #81, where the first key in the layout could not be smaller than 1x1.
  • Added YBX to the "Signature Plastics PBT" color palette (fixes #79).
    • Note that I don't have a physical color chip, so I couldn't sample the
      color as accurately as the other Signature Plastics colors. The color name
      reflects this.
  • Added WASD keyboard colors (thanks gioele!). Fixes #62.
  • Added a favicon to the site.
  • Fixed an issue where bad HTML in a label field would prevent the editor from
    rendering properly (fixes #65).
    • If bad HTML is used, we now display a little 'X' in the label, with a
      helpful tooltip.
  • Added preliminary support for "homing" keys. (Thanks, D1SC0tech!)
    • Add "HOMING" to the profile/row field.
    • Currently only supported for DSA (it renders as a deep-dish key); other
      profiles will be added in a future update.
    • Updated the "GB: Retro DSA" sample to demonstrate the effect.
  • Added a number of new keyboard presets/samples sent in by users:
    • Atreas keyboard (thanks domgetter!)
    • Default 60%, Keycool 84, Leopold FC660m (thanks, rswiernik!)
    • VIC-20 (thanks BlueNalgene!)
    • Kinesis Advantage (thanks alerque!)

0.10

07 Aug 03:49
Compare
Choose a tag to compare

_Version 0.10:_ Nov 12, 2013

  • Added support for rotated key clusters.
    • Each key has a rotation angle and center-of-rotation.
    • Keys with the same angle/CoR are grouped together into a "custer" for the
      purposes of sorting the keys, and in the serialized format; e.g.,
      navigating to the next/previous key will go through all the keys in the
      current cluster before moving on to the next cluster.
    • Crosshairs-indicator displays in the editor to let you know where your
      center-of-rotation is.
    • Keyboard: Ctrl+Arrows to modify the center-of-rotation; PgUp/PgDn to
      modify the rotation angle.
    • CAUTION: it's really easy to get confused, and end up with keys
      outside the visible area; I recommend setting your center-of-rotation
      before rotating the keys. But you can always "undo" if you mess up.
  • Added rendering rules for the SA keycap profile.
    • Currently renders exactly like DSA.
  • Fixed the rendering of profile-gradients on non-rectangular keys.
    • Works perfectly on DCS profile.
    • Works about as well as possible on DSA/SA. Doesn't look jarring, at least.
  • Added a "center-stepped" key to the "Add Key" dropdown menu.
  • Some performance improvements.
  • Added a new preset: ErgoDox
  • Added a new sample: Symbolics PN 364000
  • Fixed the usual smattering of bugs, and no doubt introduced a bunch more...

0.9

07 Aug 03:49
Compare
Choose a tag to compare
0.9

_Version 0.9:_ Nov 9, 2013

  • Updated editor with new Signature Plastics color swatches.
    • ABS colors updated; PBT colors added.
    • Colors were sampled from actual plastic chips using an X-Rite ColorMunki,
      and then converted to sRGB (D65) using the formulas on Bruce Lindbloom's
      website.
    • Colors are accurate is your monitor is calibrated to sRBG!
  • More accurate (?) colors for the tops of the keycaps.
    • Previously, the color you entered would be used directly on the top of
      the cap, and then "darkened" for the sides.
    • However, our colors were sampled from the "smooth" part of the chip.
    • Since the sides of a cap are usually smooth, and the top of the cap is
      usually matte (which tends to reflect more light, appearing brighter), it
      made sense to switch things around.
    • Now using the color verbatim on the sides of the cap, and using a
      "lighter" color for the top of the cap.
    • Computing the "lighter" color in LAB space (instead of RGB space).
    • Tweaked the gradients for DSA/DCS, and updated the various samples and
      default colors to work better with the new rendering.
  • Added a little "indicator" to the palette to indicate which color is
    being used for the keycap (and label).
    • Also, printing the currently-selected color name beside the color-editor
      fields.
  • Added a button to swap the keycap and label colors; should make creating
    some color schemes (e.g., CCnG) really easy.
  • Sanitizing any HTML tags entered into key labels.
    • I wasn't so much worried about my site since there's no server-side
      component to attack, I don't use cookies, passwords, or personal-data for
      anything, and XSS rules should prevent anything too egregious.
    • But (in theory, at least) users could be given a link to a "malicious"
      keyboard layout, and then maybe tricked into doing something bad.
  • Adding "SPACE" to the profile field will now render spacebars with a
    vertical gradient (so long as the profile is supported). e.g., the profile
    string should read something like this: "DCS SPACE R1" (or similar).
  • Stepped keycaps are a little more user-friendly.
    • When first creating a stepped cap, I automatically modify the widths to
      make it obvious what's going on.
    • The secondary width/height fields are no longer force-synced for stepped
      caps.
  • Added a link to the GitHub issues page, so users can submit bug reports.
  • Added a new sample: Televideo TS-800a
  • Fixed the usual smattering of bugs, and no doubt introduced a bunch more...

0.8

07 Aug 03:50
Compare
Choose a tag to compare
0.8

_Version 0.8:_ Oct 19, 2013

  • Switched to a new JSONL parser; generates better error messages, and doesn't
    get hung up on strings with colons in them.
  • Increased the number of font-sizes available; now 1-9. New sizes are more
    linear (for DSA profile).
  • Support a 3rd (middle) row of text on the keycaps, to support some layouts
    (e.g., German) that have lots of different legends.
  • Support both a primary & secondary font-size on the caps.
    • Primary is used for the first label; secondary for everything else.
  • HRs now rendered in key legends if used.
  • Added tooltips for most of the editor fields.
  • Added support for 'stepped' keycaps.
    • Added a 'stepped caps-lock' to the 'Add Key' dropdown.
  • Split the 'Load Preset' menu into two sections.
    • The first section is for true "presets"---standard layouts without much
      customization that serve as a base for the user.
    • The second section is for "samples"; these are layouts with more extensive
      changes, to serve as examples of what is possible in the editor.
    • Added a couple more samples to the list.
  • Fixed the usual smattering of bugs, and no doubt introduced a bunch more...

0.7

07 Aug 03:50
Compare
Choose a tag to compare
0.7

_Version 0.7:_ Oct 14, 2013

  • Can specify a background color for the editor (to better visualize the
    caps on, e.g., a black keyboard).
  • Added the ability to have right-aligned text (upper- & lower-right)... this
    is useful for some foreign layouts that have lots of legends on the keys.
  • Added the ability to have side-printed legends on the front of the caps
    (e.g., for "stealth" keyboards, or for media keys legends).
  • Added the ability to have centered legends (either horizontally, vertically,
    or both).
  • Added the ability to vary the font height (relative sizes from 1-5; default
    3); some sets (e.g., Retro DSA) have larger legends on certain keys.
  • Can now specify the 'profile' of a key:
    • You can currently type anything you want here, and it'll be remembered on
      a per-key basis. I envision this field eventually being used to specify
      both the profile & the row number (e.g., "DCS R1", or something).
    • I've currently got experimental rendering support if you enter "DCS" or
      "DSA"... I'm just adjusting the margins and adding a subtle gradient to
      make it look cylindrical or spherical. It doesn't work very well on
      oddly-shaped keys, though.
    • If you specify DSA, I'm also switching the font to "Engravers Gothic";
      this isn't a perfect match for the "Gorton Modified" that SP uses, but
      it's reasonably close for most glyphs.
  • Fixed the usual smattering of bugs, and no doubt introduced a bunch more...

0.6

07 Aug 03:50
Compare
Choose a tag to compare
0.6

_Version 0.6:_ Oct 13, 2013

  • Can now SAVE a copy of your layout to the server
    • You get a nice, shortened URL to use to retrieve your layout later.
    • All layouts are public... if somebody has the link, they can view your
      layout.
    • Also, there isn't too much security... it would be technically possible
      for someone to upload a "blank" layout over top of an existing layout
      (provided they had the link)... however I've got versioning enabled on
      the server, so if this every happens to you, I can probably retrieve your
      old layout.
    • I reserve the right to occasionally purge layouts, so I recommend you
      maintain a bookmark of the permalink to anything important, just in case.
      (I'm only likely to do this if it looks like there was some sort of attack
      on the server, or other form of abuse, and would try to only delete
      layouts that didn't look "finished". But still... backups are
      recommended.)
  • Added the ability to "ghost" a keycap:
    • Ghosted keys are dimmed out.
    • This is useful for drawing attention to the unghosted keys, while still
      presenting them in context.
  • Added copy/paste support:
    • Unfortunately, the browser does not expose the clipboard to web-pages in
      any useful manner...
    • There are a few workarounds I could pursue using Flash applets and such,
      but they have their own limitations (in addition to requiring Flash).
      I've got my eye out for other suitable workarounds, but until then... the
      cut/paste is internal to the current instance of the editor (you can't,
      e.g., copy from one instance and paste into another).
  • Added a warning if you try to navigate away from the editor without having
    saved your work.
  • Added some very-crudely sampled GMK color swatches (from sherryton's photo).
  • Plus, the usual smattering of bug-fixes.