Online Keyboard Layout Editor

User avatar
Daniel Beardsmore

28 Sep 2013, 15:03

It's getting really good now.

Here's a scenario though, that should give you an idea of improvements needed — conversion of the CCnG preset from ANSI to ISO:
  1. Start with GB: CCnG
  2. Click Shift, and press shift+left to reduce it to 1.25 u
  3. Click \ and move it into the gap next to shift with a lot of arrow key pressing, then reduce it to 1 u
  4. Now, \ is the wrong colour — without palette management, the only way to graphically get that key to be the correct colour is to copy and paste BOTH colour codes from the adjacent key (more technical folk will realise that you can move the JSON colour descriptor one place left)
  5. Click } and add the missing ] on the second row (ditto })
  6. Delete the enter key, as it is the wrong shape
  7. Click } again, then Add Key → Add 'ISO Enter' key — note that it gets added onto the wrong line; inserting a new key should aim to insert it as close as possible to the selection; you also have to do the colour dance malarkey to get it to be the correct colour, as there's no project colour palette.(At one point it added ISO enter to the end of the final row — that was odd, and I can't reproduce that.)
  8. Add 'Enter' as the line 1 text
  9. Add the CR symbol to line 2 … except you can't: the program could do with a common symbol picker to save messing with Character Map/Character Palette
  10. ISO has one more key; click ' (the key to the left of the missing key gap) and press insert to add it — again, the new key is added miles from where you wanted it
Also, some more feature suggestions:
  • Use ne0phyte's database-driven short-linking permalink system (including the duplicate prevention) as the permalinks you're using are ridiculously long and cumbersome; this would ease the problem of many features requiring more complex JSON code
  • Warning dialog when doing something that would lose all your work, such as selecting a preset
  • SVG export, to generate scalable diagrams for the wiki.
  • Layers, so that you can swap between JIS, ISO and ANSI alternatives without needing to redo most of the keys
  • Stock glyphs for keycaps for symbols not available in Unicode (e.g. Windows 95/XP/8 window keys, menu (application) key, possibly some of the European symbolic Mac legends, German "handbag" caps lock etc)
  • Font choice (keyboard-wide for now — can go into the meta block of the JSON along with the version and colour palette)
  • Maybe a "simple code" option that ignores all colours, fonts, etc, though having a palette would reduce the clutter a lot; ideally there would also be a way to indicate the typical two colour design without needing a palette at all, e.g. { ac: true } (alternate colour = enabled).
Finally:
  • The two lines of wrapped text legends (e.g. "Print Screen" or "Scroll Lock") are drawn too far apart, making it look like "Scroll" and "Lock" are two separate functions; this also completely gets in the way of ever writing "Print Screen / Sys Rq" on the same keycap
  • Line 2 is drawn too low: the bottom of certain characters (e.g. [ ] and arrows) overrun the top of the keycap
  • The keycap outline is slightly larger than the background fill at the corners; this is most notable with black keycaps
  • The closest you can get to a black keyboard, is key colour = #222222, but you don't get black for the shadow, just a slightly darker grey — you cannot actually simulate a black keyboard effectively

ijprest

30 Sep 2013, 01:52

Thanks for all the feedback. I've logged most of your suggestions on GitHub to keep track of them. :)

ijprest

30 Sep 2013, 01:53

Updated again, to v0.5.

Changes:
-- Undo/redo support!
-- Switched to URLON-encoding for the permalinks... since it mostly uses URL-safe characters, it results in significantly shorter URLs.
---- I'm not 100% sold on this... it still results in pretty ugly links. But at least they're shorter. Let me know what you think.
---- Note that the old permalinks should still work (since the data format didn't change... just the encoding); let me know if they don't.
-- Alt+click is now allowed wherever Ctrl+Click was previously allowed (helpful for Mac users who can't Ctrl+Click).
-- Shift+click will now "extend" the selection (linearly, in left-to-right fashion).
-- Similarly, Shift+J/K will extend the selection.
-- Ctrl+A will select all keys; ESC will de-select all.
-- A couple of small bugfixes.

I've also logged 'enhancement ideas' on GitHub for just most of the stuff people have asked for (here and at GeekHack), plus some of my own ideas... you can browse the issue list to get an idea of where I'm headed.

Feel free to log issues directly on GitHub, if you like... though I'll continue reading & replying to comments here.

User avatar
Daniel Beardsmore

30 Sep 2013, 02:14

In Firefox and IE, clicking Permalink just opens a new tab to the same keyboard, but with spacebar now labelled "null", and no fragment identifier (#…). Is that what it's meant to do? Obviously the "null" is a bug with the way keys with no caption are handled.

Also, what are we meant to do with the swatch table? You need to ctrl+click for text colour, and that's all it does. I think you broke left-click.

User avatar
Daniel Beardsmore

30 Sep 2013, 02:21

BTW as an alternative idea to batch colour alteration that might suit some people: the format painter from MS Office. Click a keycap, click the format painter tool, and then click other keys to transfer the format. Click the format painter button again when done.

ijprest

30 Sep 2013, 03:05

Daniel Beardsmore wrote:In Firefox and IE, clicking Permalink just opens a new tab to the same keyboard, but with spacebar now labelled "null", and no fragment identifier (#…). Is that what it's meant to do? Obviously the "null" is a bug with the way keys with no caption are handled.
The space/null thing was a bug in the URLON encoder. I've fixed it (and submitted a pull request to the original author).

"Permalink" was doing what was intended, but I can see how it could be confusing. The thinking was that it would be wrong to keep the data in the URL if it wasn't current (updating it after making changes was too slow to be a viable option). So I blanked it out after loading the layout, rather than risk it being "incorrect".

I've tweaked it so that the data is retained in the address-bar until you make your first change, at which point it gets blanked out.
Daniel Beardsmore wrote:Also, what are we meant to do with the swatch table? You need to ctrl+click for text colour, and that's all it does. I think you broke left-click.
Indeed! It worked in IE & Chrome, but not FF. :) Fixed now.

User avatar
Daniel Beardsmore

01 Oct 2013, 01:32

By the way, I listed it here the other day:

http://deskthority.net/wiki/Utilities

User avatar
002
Topre Enthusiast

01 Oct 2013, 05:08

What a great little utility :) Nice work!
Some things that might be cool (apologies if they are logged already):
- Ability to change the .25 increment that's set for moving key(s) with the arrow keys
- Spherical keytops?
- Some more generic presets (e.g. JIS, TKL, etc) or the ability to save/submit our own (yeah I know can save raw data but I'm lazy and like drop-down selection)
- Perhaps some different set of controls when a multi-select is done? e.g something to control key pitch or bulk clearing of labels?
- Top-right and Bottom-right labels (or something to right/bottom-right justify text)
- Front printed labels? (I know they'd be hard to read but it'd look cool)

User avatar
Daniel Beardsmore

09 Oct 2013, 00:12

You seriously need to get shorter permalinks. This is retarded:
Permalink is too long.png
Permalink is too long.png (306.64 KiB) Viewed 9498 times
They're just not usable in the form they are in at the moment.

davkol

13 Oct 2013, 00:25

Pretty cool. I wish I knew about it earlier.

I've started a similar project as a part of my thesis. It's a desktop application though, because I need to export layouts in some sane format (SVG if nothing else) and use them in visualisations. Also, support for angled thumb clusters is required.

edit: ...and if isn't obvious, I hate web apps.

User avatar
Daniel Beardsmore

13 Oct 2013, 00:58

SVG export doesn't require a desktop application. SVG is just XML, so you can turn any internal format into SVG directly from JavaScript just as easily as from something like C#.

davkol

13 Oct 2013, 12:00

Yeah, I somehow sent the comment before actually writing a half of it.
  • I need to be able to create any (flattened) physical layout (including Maltron and ErgoDox) with several (software) layers.
  • The point of the whole thing is visualization of carpalx data.
  • Optionally, I want to be able to use the thing as a widget in other applications (such as distro installer, keyboard settings, AquaTest-like app etc.).
...and I don't want to deal with the mess that web apps (or rather technology support from browser engines) are nowadays.

ijprest

13 Oct 2013, 21:59

Daniel Beardsmore wrote:You seriously need to get shorter permalinks. This is retarded. <snip> They're just not usable in the form they are in at the moment.
I agree... though bear in mind that the app is completely client-side with no server support (and I'd like to keep it that way, if possible), so all the data to represent the keyboard is stored in the URL.
  • It's already about 40% smaller than it used to be, since I switched to URLON encoding from JSON encoding (which reduced the amount of redundant data, and presenting it in a more URL-friendly format).
  • I've tried using conventional compression, but the need to base64-encode the result (to use it in a URL) eliminates most of the savings.
  • I've also tested a "custom" encoding that's specifically tailored to the kbd data, and I can reduce the size by a little more than half, at the expense of more-complicated code, and potential future flexibility problems.
Anyway, I'm open to suggestions. Maybe I could automatically run them through a URL shortener like bit.ly, or something.

ijprest

14 Oct 2013, 00:54

@Daniel Beardsmore: What do you think of this encoding? This is the CCnG preset, removing redundant data, using URL-friendly characters where possible, and "hand-compressed" to some eliminate duplication. Weighs in at 706 bytes. Line-breaks inserted for legibility.

Code: Select all

http://localhost:8080/kb.html##c55994atf2eee4:cf2eee4t55994a:x.5:w1.25:s1w2.25:
s1'Esc'x1s2'F1,F2,F3,F4's3s1'F5,F6,F7,F8's3s2'F9,F10,F11,F12's3s1'PrtSc,Scroll%20Lock,Pause_Break'
~y.5'~~_%60's2'!_1,@_2,%23_3,$_4,%25_5,%5E_6,&_7,*_8,(_9,)_0,~__-,+_='s1w2'Backspace's3'Insert,Home,PgUp's3'Num%20Lock,%2F,*,-'
~w1.5'Tab's2'Q,W,E,R,T,Y,U,I,O,P,%7B_%5B,%7D_%5D's1w1.5'%7C_%5C's3'Delete,End,PgDn's3s2'7_Home,8_%3F,9_PgUp's1h2'+'
~w1.75'Caps%20Lock's2'A,S,D,F,G,H,J,K,L,:_%3B,%22_~''s5'Enter'x4s2'4_%3F,5,6_%3F'
~s5'Shift's2'Z,X,C,V,B,N,M,%3C_~,,%3E_.,%3F_%2F's1w2.75'Shift'x1.5'%3F'x1.5s2'1_End,2_%3F,3_PgDn's1h2'Enter'
~s4'Ctrl's4'Win's4'Alt's2w6.25''s1s4'Alt's4'Win's4'Menu's4'Ctrl's3'%3F,%3F,%3F's3s2w2'0_Ins,._Del'
(This one was done by hand, but I wrote a working decoder... and I think the encoder shouldn't be too difficult.)

Compare to the current scheme... about 1.53k after the browser does its URL-escaping:

Code: Select all

http://localhost/kb.html##@
@_c=%2355994a&t=%23f2eee4%3B&=Esc&_x:1&c=%23f2eee4&t=%2355994a%3B&=F1&=F2&=F3&=F4&_x:0.5&c=%2355994a&t=%23f2eee4%3B&=F5&=F6&=F7&=F8&_x:0.5&c=%23f2eee4&t=%2355994a%3B&=F9&=F10&=F11&=F12&_x:0.5&c=%2355994a&t=%23f2eee4%3B&=PrtSc&=Scroll%20Lock&=Pause%0ABreak%3B
&@_y:0.5%3B&=~%0A%60&_c=%23f2eee4&t=%2355994a%3B&=!%0A1&=%2F@%0A2&=%23%0A3&=$%0A4&=%25%0A5&=%5E%0A6&=%2F&%0A7&=*%0A8&=(%0A9&=)%0A0&=%2F_%0A-&=+%0A%2F=&_c=%2355994a&t=%23f2eee4&w:2%3B&=Backspace&_x:0.5%3B&=Insert&=Home&=PgUp&_x:0.5%3B&=Num%20Lock&=%2F%2F&=*&=-%3B
&@_w:1.5%3B&=Tab&_c=%23f2eee4&t=%2355994a%3B&=Q&=W&=E&=R&=T&=Y&=U&=I&=O&=P&=%7B%0A%5B&=%7D%0A%5D&_c=%2355994a&t=%23f2eee4&w:1.5%3B&=%7C%0A%5C&_x:0.5%3B&=Delete&=End&=PgDn&_x:0.5&c=%23f2eee4&t=%2355994a%3B&=7%0AHome&=8%0A%3F&=9%0APgUp&_c=%2355994a&t=%23f2eee4&h:2%3B&=+%3B
&@_w:1.75%3B&=Caps%20Lock&_c=%23f2eee4&t=%2355994a%3B&=A&=S&=D&=F&=G&=H&=J&=K&=L&=%2F:%0A%2F%3B&=%22%0A'&_c=%2355994a&t=%23f2eee4&w:2.25%3B&=Enter&_x:4&c=%23f2eee4&t=%2355994a%3B&=4%0A%3F&=5&=6%0A%3F%3B
&@_c=%2355994a&t=%23f2eee4&w:2.25%3B&=Shift&_c=%23f2eee4&t=%2355994a%3B&=Z&=X&=C&=V&=B&=N&=M&=%3C%0A,&=%3E%0A.&=%3F%0A%2F%2F&_c=%2355994a&t=%23f2eee4&w:2.75%3B&=Shift&_x:1.5%3B&=%3F&_x:1.5&c=%23f2eee4&t=%2355994a%3B&=1%0AEnd&=2%0A%3F&=3%0APgDn&_c=%2355994a&t=%23f2eee4&h:2%3B&=Enter%3B
&@_w:1.25%3B&=Ctrl&_w:1.25%3B&=Win&_w:1.25%3B&=Alt&_c=%23f2eee4&t=%2355994a&w:6.25%3B&=&_c=%2355994a&t=%23f2eee4&w:1.25%3B&=Alt&_w:1.25%3B&=Win&_w:1.25%3B&=Menu&_w:1.25%3B&=Ctrl&_x:0.5%3B&=%3F&=%3F&=%3F&_x:0.5&c=%23f2eee4&t=%2355994a&w:2%3B&=0%0AIns&=.%0ADel
There's no doubt room to go further... just wondering what your thoughts were.

User avatar
Daniel Beardsmore

14 Oct 2013, 01:37

It still gets split into two lines in IRC (did you actually bother to check whether it solves the problem I stated?), and just looks like spammy garbage. Seriously, use ne0phyte's server-side shortlink generator idea (which has a de-duplicator to prevent generating new shortlinks for the same keyboard). Using a third-party system is a no-go as people won't know where the URL goes and whether it can be trusted, whereas something like http://keyboard-layout-editor.com/?layout=1A3 is at least trustworthy-looking.

Ideally I'd prefer the ability to save properly, i.e. save a new version to the same URL, or save to a new revision. i.e. proper cloud-based editor (in which case you could even give the keyboard a name for the URL that fits within the URL naming scheme). However, that's not a requirement, only that you can send someone to a layout.

I don't see any alternative when you need to pass around so much data.

ijprest

14 Oct 2013, 02:27

... sorry... I don't use IRC, so I couldn't test it there (let alone in dozens of IRC clients, no doubt all of which do things slightly differently).

Anyway, if this doesn't help, I guess I won't pursue it any further.

I understand your reasoning, and I might get there eventually, but doing anything on the server is pretty low on the priority list right now... it opens up a whole can-of-worms that I'm not ready to deal with just yet.

ijprest

14 Oct 2013, 05:18

... OK, so I'm investigating an option that would not require any additional server-side component (other than what S3 already provides)... looks promising.

ijprest

14 Oct 2013, 08:55

I've updated my editor to v0.6... here are the highlights:
  • Can now SAVE a copy of your layout to the server
    • You get a nice, shortened URL to use to retrieve your layout later.
    • e.g., here's a "CCnG Modifier Set" link: http://www.keyboard-layout-editor.com/# ... e18b2d8c35
    • 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.

ijprest

14 Oct 2013, 09:12

Daniel Beardsmore wrote:Ideally I'd prefer the ability to save properly, i.e. save a new version to the same URL, or save to a new revision. i.e. proper cloud-based editor (in which case you could even give the keyboard a name for the URL that fits within the URL naming scheme). However, that's not a requirement, only that you can send someone to a layout.
I think I've nailed the 'send someone a layout' requirement. I'm lucky in that S3 allows me to "upload" files from anonymous users... so I didn't require any server-side scripting or databases to just store bits of data.

A full-on cloud-based editor is desirable, but we're definitely into database/users/permissions/server-side stuff for that.

User avatar
Daniel Beardsmore

14 Oct 2013, 21:57

Yes, that's short enough to pass around on IRC now.

ijprest

15 Oct 2013, 05:04

I've updated the editor again, to v0.7 (yay for holiday weekends!). Here are the highlights:
  • 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... :)
Here's a couple of samples to illustrate the new features:
  1. DSA Retro on a black keyboard: http://www.keyboard-layout-editor.com/# ... 611c4ca9d6
  2. Stealth Black: http://www.keyboard-layout-editor.com/# ... a3702b7011

User avatar
Daniel Beardsmore

15 Oct 2013, 09:44

Impressive.

In terms of legend size, though, vintage doubleshots were at least a 7 if not 8 in your scheme, but you have an arbitrary limit of 5 for some reason.

User avatar
suka
frobiac

15 Oct 2013, 12:51

Great work! This has become such an amazing tool by now, thank you!

One minor issue I found: After adding a color ":" to any bottom label, the raw data tab has a problem with it and does not accept any manual updates until it is removed.

Edit: "Replacing ":" by "&colon;" in either the raw tab or bottom label entry fixes this!

ijprest

15 Oct 2013, 17:19

suka wrote:One minor issue I found: After adding a color ":" to any bottom label, the raw data tab has a problem with it and does not accept any manual updates until it is removed.
Yeah, I noticed this (issue #38) when I was creating the stealth layout. I suspect I know the reason, but haven't looked into it yet.

ijprest

15 Oct 2013, 17:29

Daniel Beardsmore wrote:In terms of legend size, though, vintage doubleshots were at least a 7 if not 8 in your scheme, but you have an arbitrary limit of 5 for some reason.
I can add add more easily enough. (And I logged an issue for this, #44), so I won't forget.

P.S., If you've ever got a photo of a particular layout you'd like to be able replicate, just send it my way. I only know to implement what I've seen myself! :)

User avatar
Daniel Beardsmore

15 Oct 2013, 23:09

The background colour should follow the keyboard's width, the same way that it follows its height. (Replicating a split design like the ErgoDox is going to be more complicated ;-)

I see that adding an LED cluster is already in your to-do list!

I have no layouts in mind — not sure I even have any use for it, I'm just testing it (though I was going to post a colour scheme to IRC when I realised how bad the permalinks were). SVG export would be good for wiki diagrams, although you'd need a bit of patience if you want to use clone objects in SVG, as rsvg doesn't always like them. (OK, rsvg is wretched garbage.)

ijprest

13 Nov 2013, 05:26

It has been a while since I posted, but I've updated the editor three times since then. The highlights:
  • More formatting options (sizes, text positions, etc.)
  • Stepped keycap support
  • More accurate colors, sampled from actual SP color chips. As a result of the changes, your existing saved layouts may appear lighter than they used to; colors may need to be tweaked. (Read below for the gory details.)
  • Support for rotated key clusters! (See the ErgoDox preset for an example). Note: easy to get confused when you're editing these... "undo" is your friend.
  • Better rendering of space-bars, oddly-shaped keys.
  • New samples & presets.
  • Miscellaneous bug-fixes and UI tweaks.
Here's the full changelog:

Version 0.8: Oct 19, 2013
Spoiler:

Code: Select all

* 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...
Version 0.9: Nov 9, 2013
Spoiler:

Code: Select all

* 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...
Version 0.10: Nov 12, 2013
Spoiler:

Code: Select all

* 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...
Thanks to Daniel Beardsmore for logging a bunch of bugs & suggestions. :)

User avatar
Daniel Beardsmore

13 Nov 2013, 23:42

I've regexed your JSON code into the following wiki pages:

[wiki]Signature Plastics ABS colours[/wiki]
[wiki]Signature Plastics PBT colours[/wiki]
[wiki]GMK colours[/wiki]

(Not sure why I didn't do this with matt3o's ABS table, but your colours are more accurate, and you've got more to choose from :)

I've not tried to guess to which of Bruce Lindbloom's pages you were referring.

Templates used for this:

Template:Keycap colour — single colour instance
Template:Keycap colours — wrapper

These two templates are self-referential, so use ?action=purge to allow MediaWiki to regenerate the page after editing.

The keycap colours wrapper currently "borrows" the switch colour table class defined in the MediaWiki custom CSS, but by moving the table code into its own template, you can restyle without needing to be concerned about updating all the pages that rely on this hack by simply altering the wrapper template. (The table comes out a bit sparse-looking.)

All three pages are simply dumped into Guides for now; feel free to recategorise as needed.

ijprest

14 Nov 2013, 02:20

Cool... glad to see the knowledge disseminated. (In a perfect world, the companies themselves would supply proper calibrated color data.)

Here's the pages on Lindbloom's site describing the math, if you're interested: The ColorMunki gave me the Lab values, and I converted them to sRGB using the "intent of the CIE standard" values, proper "complicated" sRGB companding, and the D65 matricies.

My math can be checked by perusing the spreadsheets linked in this GeekHack post. (You'll also find the original spectral-sampling results, and the ColorMunki-computed Lab values.)

User avatar
webwit
Wild Duck

14 Nov 2013, 02:25

Fifty Shades of Beige...

Post Reply

Return to “Workshop”