kbedit

User avatar
beltet

28 Nov 2014, 20:51

Nice. Really good work matt3o! As always! :D

User avatar
Muirium
µ

28 Nov 2014, 20:57

Works nice and quick even on my decade old PowerBook. Great stuff! If only all webapps were as sharp.
Picture 3.png
Picture 3.png (12.23 KiB) Viewed 3450 times
How do we engage dark mode? I love me a bit of The Dark…

User avatar
scottc

28 Nov 2014, 21:18

I'm shocked and horrified by the 10x4 unit size restriction. How will I ever make my dream keyboard when the keys have to be so small?!?

Image

But on a serious note, the colours are great, I really like them!

I was thinking of getting started by taking feedback from the thread and putting them into Github issues so as to have a canonical list of desired features for contributors to work on. It should lower the barrier to entry somewhat. What do you think, matt3o?

User avatar
scottc

28 Nov 2014, 22:08

Muirium wrote: Works nice and quick even on my decade old PowerBook. Great stuff! If only all webapps were as sharp.
Picture 3.png
How do we engage dark mode? I love me a bit of The Dark…
I found this - bottom left. There's a small button with 'dark' written on it.

User avatar
Daniel Beardsmore

28 Nov 2014, 22:27

scottc wrote: I was thinking of getting started by taking feedback from the thread and putting them into Github issues so as to have a canonical list of desired features for contributors to work on.
I've added mine — just never thought to do so. Github is retarded though — I can't classify my "issues" as anything. I can't set priority or select between bug or feature request. Just seems to be some pointless attempt at replacing perfectly good bug/feature trackers with a stupid one (goes with the history of git itself I suppose). I can't even have it display my name correctly.

At least I have to concede that there's one reason why this project is worth it — ijprest's editor doesn't have anywhere near the flexibility of adding and sizing keys.

matt3o is also a lot less likely to end up with a Boeing 747 cockpit for the key properties.

User avatar
Daniel Beardsmore

28 Nov 2014, 22:34

As as note, I could go mad and write pages and pages of "issues", but at this stage there's no point as I imagine matt3o's got everything covered (different enter key shapes, windowed keycaps, fonts, sizes, stepped keycaps, export (DXF, SVG, PNG, with scale control), simulated backlit keycaps using CSS to blur the legends and simulate backlight bleed etc)

The one that's going to be really fun is rotation — do you rotate every key separately, or implement layers that you edit upright and preview rotated?

User avatar
matt3o
-[°_°]-

29 Nov 2014, 00:06

Muirium wrote: How do we engage dark mode? I love me a bit of The Dark…
bottom left corner

(oh, scottc found it)
scottc wrote: I'm shocked and horrified by the 10x4 unit size restriction. How will I ever make my dream keyboard when the keys have to be so small?!?
LOL :D
scottc wrote: I was thinking of getting started by taking feedback from the thread and putting them into Github issues so as to have a canonical list of desired features for contributors to work on. It should lower the barrier to entry somewhat. What do you think, matt3o?
yes a central point where to keep all the suggestions would definitely help. I'm in an early phase, so many of the things that have been suggested were already in my to-do, but I prefer to get early feedback. It's easier to change route while you are still light.
Daniel Beardsmore wrote: I've added mine — just never thought to do so. Github is retarded though — I can't classify my "issues" as anything. I can't set priority or select between bug or feature request. Just seems to be some pointless attempt at replacing perfectly good bug/feature trackers with a stupid one (goes with the history of git itself I suppose). I can't even have it display my name correctly.
it's up to the administrators to give them priority/tags/etc. If you know a better tool, please let me know.
Daniel Beardsmore wrote: matt3o is also a lot less likely to end up with a Boeing 747 cockpit for the key properties.
I'm trying to figure out which is the best option there, especially to position the legends. I want to be easy to change the legend position and properties so you can see on the fly the differences between the various layouts.

User avatar
matt3o
-[°_°]-

29 Nov 2014, 00:10

(sorry for the double post, I missed this one Daniel's message)
Daniel Beardsmore wrote: The one that's going to be really fun is rotation — do you rotate every key separately, or implement layers that you edit upright and preview rotated?
have to think about it. when you rotate a key it will probably automatically placed in a special layer (1 layer per rotation angle) and the background grid automatically adjusts to the rotation. Not sure about it yet, have to find a way to snap rotated elements, there must be an algorithm for that.

User avatar
Muirium
µ

29 Nov 2014, 02:15

I'm really liking this editor! You've probably seen my layout diagrams, which I do by hand in OmniGraffle. Pretty similar process for me as a user in either; which is great! Once you've got legends in the mix, I'll be able to stack up layer diagrams like this:

Image

User avatar
ullr

01 Dec 2014, 02:25

Some features I'd like to see is better Unicode support - keyboard-layout-editor lacks the ability to display wide characters, more presets, and a 'flat' key style consisting of just a flat rectangle with a border.

Image

User avatar
matt3o
-[°_°]-

01 Dec 2014, 08:47

UTF-8 should work out of the box. I don't know why it is not working on KLE.

I'm also planning various templates for the keys.

User avatar
matt3o
-[°_°]-

01 Dec 2014, 19:49

daily update

I did a lot of clean up and fixed some bugs in the drag/drop.

The panels (the palette at the moment) are now draggable, so you can position the palette wherever you want while working.

Also, if you create a new key over another already present, the new one is positioned to the right of the previous. If you press 10 times on the same spot you get a row of already aligned keys.

I have now to work on the palettes, of course the current implementation is very "alpha" stage.

User avatar
matt3o
-[°_°]-

02 Dec 2014, 20:38

Committed some more updates today and updated the video in the first page with some commentary (direct link)... sorry for mangling all the words, I was fucking tired :P

User avatar
DiodeHead

02 Dec 2014, 21:49

More than understandble, man i don´t know how you do it, i´m trying to make a keyboard and i´m stuck on plate design, and in that time i think you did a couple of keyboards and started this program.

It´s getting very nice, and at this speed i think you would have a far better program than http://www.keyboard-layout-editor.com/ by the end of this year, (sorry Ian Prest it´s only my opinion no offense intended)

User avatar
Daniel Beardsmore

02 Dec 2014, 23:33

I still think the z-order is wrong. Every time I end up with two keys stacked on top of each other (e.g. when pressing '1' and the new key doesn't go where I thought it would), I try to move the new key to where it should be, and just end up dragging the original key from underneath it. The visual z-order and behavioural z-order really must match, otherwise it's just confusing and irritating.

User avatar
matt3o
-[°_°]-

02 Dec 2014, 23:57

I agree it is confusing. I'll work something out, I'm just roughing out all the features right now. I'll refine them later.

User avatar
Daniel Beardsmore

03 Dec 2014, 00:39

Ian managed to do ISO return with pure HTML and CSS, but the resulting code is so abominable I couldn't figure out what he'd done (divs coming out of its eyeballs). It seems to me more like the sort of thing you'd do with SVG. (Not canvas — I have no idea how they made such a mess out of that one.)

User avatar
Muirium
µ

03 Dec 2014, 00:41

Not a developer myself. I will of course note the necessity of supporting Big Ass Return! Well, "necessity"…

User avatar
matt3o
-[°_°]-

03 Dec 2014, 10:27

Daniel Beardsmore wrote: Ian managed to do ISO return with pure HTML and CSS, but the resulting code is so abominable I couldn't figure out what he'd done (divs coming out of its eyeballs). It seems to me more like the sort of thing you'd do with SVG. (Not canvas — I have no idea how they made such a mess out of that one.)
I'd love to make this 100% SVG based, but current generation browsers are very bad at SVG and support varies quite a bit from device to device, OS to OS and browser to browser. So I guess for now it is a no-go but it may change in the future.

Also memory usage and overall performance are very bad when you have many SVG on the screen (and we potentially have hundreds of them).

User avatar
matt3o
-[°_°]-

05 Dec 2014, 16:44

working on the rotation now.

it is pretty complicated to handle the marquee (the selection box) when you have selected both straight and rotated keys. Not to mention the collision detection algorithm...

I hope I don't have to switch to webGL...

MrMcGibblets

05 Dec 2014, 23:55

macmakkara wrote: Next make it print plate dwg for that layout you create!
I actually just wrote a program that does just that using input from keyboard-layout-editor.com, which I posted about over here http://deskthority.net/workshop-f7/kbl2scad-t9330.html and lives over here https://bitbucket.org/afqueiruga/kbl2scad.

If matt3o makes some text-file output of the layout, I can add an interpreter for the format.

ClaudiaJ

07 Dec 2014, 17:46

More keyboard-oriented controls (w/ superior vim mode/inferior emacs mode toggle) and a help popup on ? key would be Nice to Have. It's current alpha state is difficult to navigate with a trackpad, can't speak to a mouse though.

Currently selections are difficult in the middle of other keys. Example, a 10x10 matrix, highlight to select in the center just a few keys, instead shift+click selects and drags the key you initiate the transaction at and there is no selection box.

I'm secretly (not so secretly) working on a similar-but-not-(but-kinda) utility that works directly on SVG elements to draw a plate directly, with plans to support actual key renders in the future. I care very little for universal browser support. Latest dev Chrome, latest dev Firefox, desktop and Android.
I've not yet experienced performance degradation on my Chromebook or Nexus 7 tablet. Current features include keyswitch cutouts, near-dynamically sized stabilizer cutouts, PCB holes (center pin, fixation pins, LED/Diode pins, MX pins), keyunit-boundary boxes. This is making for 11 path elements per key, but also I haven't yet implemented anything similar to your stage, focus is on accurate drawings at the moment, so grains of salt etc.

User avatar
matt3o
-[°_°]-

07 Dec 2014, 18:37

do not spread the energies, please make it open source and let's join the force. I could integrate what I have so far in your system

ClaudiaJ

07 Dec 2014, 19:21

My system is being reorganized right now, I only just picked javascript back up after avoiding it since Web 2.0 became a buzz word. I learned about prototypes and about getters and setters and things that we just didn't use or have once upon a time. Scrapping most of my code into an archive and rebasing with some of these fancy new concepts I just learned.

It'll go up on github though with a compatible F/OSS license, and expect pull requests from me once I have a better handle on what I'm doing here.

Post Reply

Return to “Workshop”