kiibohd / kiiconf Goto Github PK
View Code? Open in Web Editor NEWThis project forked from cubiq/kiiconf
Input Club web configurator, designed by matt3o.
Home Page: http://configurator.input.club
License: GNU General Public License v3.0
This project forked from cubiq/kiiconf
Input Club web configurator, designed by matt3o.
Home Page: http://configurator.input.club
License: GNU General Public License v3.0
Possibly add the ability to link to a specific user-created layout so users can link them to each other easily.
Please rename the layouts in the drop-down menu to something more user friendly. Possibly changing the structure of the list to be more effective as well. For example:
Add Infinity menu with sub menus
Now that the configurator needs to support multiple keyboards, it would be nice to have a URL of sorts that will automatically set the desired layout instead of having to use the drop-down.
I have a nordic layout, and it works somewhat. Pressing the ÅÄ and Ö buttons aren't recognized when i press them, but changing them in the json file to [,' and ; is an acceptable workaround i found.
The real issue is the non-us key for <,> and | is not supported (Base is <, shifted is > and RALTed is |).
I have fixed this in my .kll file by adding this, but it would be nicer if it worked straight out of the configurator. It has the decimal value of 100 and hex value 0x64. This makes that single key unconfigurable on all nordic keyboards, and maybe more that i am not aware of.
usbKeyOut => Output_usbCodeSend_capability( usbCode : 1 );
U"ESC" : usbKeyOut( 100 );
Issue turns out to be with the production server not correctly responding to changes in the stats.json.
Original description
Cached files are invalid after a controller update and should be purged.
Update the tools scripts to purge pre-build firmware after a successful update.
when you press a key, highlight it in the keymap. In addition if you select a key that is already in the keymap it should highlight all instances of that as well (possibly using the same color as whatever layer it is on so it is easier to keep track of).
Another part of this could be to highlight all of the keys (down below) that are currently assigned with the color of the layer they are on (or something right above them that specifies what layer it is assigned to)
Currently only controller updates trigger a stats.json regeneration, which can lead to issues if logic within the KiiConf project influences the build.
To make this project future proof for Whitefox owners, it should be as easy as possible to run this offline. Looking at the code it seems PHP is basically only used for saving files and this should be something that could be easily done with Node.js as well as create a simple web server to run the configurator. Ideally you could get this running on your local host by a few simple commands without having to install PHP or use virtual machines.
In KLL it's possible to override defines (such as keyboardLocale).
The UI should generate a list of all defines provided for the given keyboard and provide text boxes/edits for each.
https://github.com/kiibohd/controller/blob/master/Scan/STLcd/capabilities.kll has examples of short and long defines (syntax-wise, they are the same).
It's annoying to recreate the layout every time you want to change the layout.
Ideally it should be possible to import a previously created layout. Though in the short term, perhaps a special url that goes to the cached copy might work well (and is easier to implement).
If a key is left as the default on the configurator, the resulting kll file will have something like U"5" : U"5";
, as expected. But if the key is cleared on the base layer, it won't be put in the generated kll file at all, so it will fall back to the default defined in the scan map rather than doing nothing.
Unable to set ISO key 0x64 in the configurator. This is the key that is extra on an ISO keyboard compared to an ANSI keyboard located right of the left shift. For UK ISO this is the \ |
key. In my particular case I use Norwegian layouts in my OS and this key is then the < >
key.
I presume as a workaround when I get my Infinity ErogDox and Infinity 60% I can manually edit the configurator file and add this key before flashing the configuration, but I don't have my keyboards yet so I have not tried.
Please fix, or if that takes time advice in this matter. Regards!
When I add the yen symbol to a layout it generates a file with _error.zip at the end and does not create a layout file.
Using Chome/windows 10. I tried several different layouts, but as soon as I add the yen symbol the configurator fails. Taking it back out also seems to fix the problem.
Example layout here for reproduction: https://input.club/forums/topic/_error-zip-when-using-the-yen-symbol-key-in-the-configurator
I'm using http://input.club/configurator-ergodox to configure my ergodox, but can't seem to assign the grave accent / tilde key. I tried putting it in a couple different places, but it always just acts as the backslash / pipe key. Any help would be greatly appreciated
Please rename 'revert changes' to something more friendly like 'Reset to Default'.
Remember the last state of each of the different groups and when a user returns show them in the same state.
Base off examples here: https://github.com/kiibohd/kll/blob/master/layouts/mouseTest.kll
In short there is no colon key ":"
The reason this is an issue for me is because I put all my symbols on a function layer and do not wish to hit shift+function+semicolon.
It would be nice if a PNG with the layout would be included for future reference. I store my layout(s) for so I can copy them back in to make alterations quicker, and it would be nice to have a picture for reference.
I'm using the Ergodox layout on windows 8 - online keyboard layout editor... The colon key does not register, I can not remap.
I can't get the .kll
files that I downloaded with my compiled .bin
to recompile using the master branch of kiibohd/controller
. My media keys aren't recognized and it seems confused by my layer mod keys.
Any advice? I just want to rebuild and version control what I created with http://configurator.input.club/.
So assigning a key to be a calculator key, just writes O. Scancode for calculator key: 0x192 Scacode for O 0x12
And the offending KLL is here:
https://mega.co.nz/#!nM8jHbIS!SxpN74lrxlQeEEPJ7IVqna-qGhQvknXDKvDL78ID6nI
Currently version is a JSON file that forces a download, move it to a modal dialog that puts the JSON into a more consumable format.
If I select any layers greater than the default 0-2, those layers are turned into JSON, but have no corresponding KLL files for those layers. Have tried both layer 3 and layer 7.
Could be related to #15 as not even the existing layers are being converted to KLL correctly.
Happy to help further diagnose the issue.
Using an ergodox infinity.
build_layout.bash sometimes zombies after being called. Process should be forked/daemonized to help avoid this.
To visually support the Infinity Ergodox it should be possible to rotate keys x Degrees (particularily around the thumb cluster).
Currently, keys can only be arranged in a grid.
Commit 8eb801a changed the folder structure in the tmp
folder by adding a new uid to prevent overlapping builds from colliding into the same directory. Unfortunately the call to build_layout.bash
does not include this additional string causing build artifacts not to be included in the resulting zip.
I have identified a fix and a pull request will be incoming shortly.
Make the current auto-save functionality optional with a checkbox that can be turned on or off. (this would require a new save button as well).
Change from https://github.com/kiibohd/KiiConf/
to https://github.com/kiibohd/KiiConf/wiki
Also rename the label to Wiki / Help maybe
something seems off with the latest configurator and the whitefox. I get very weird results, the matrix seems shifted to the left of a couple of positions. burning an older firmware works without issues.
I'm using an AZERTY ISO layout at the moment, and would like to configure my keyboard to use that without writing and compiling my own BIOS, is there a way to use ISO keys ?
When using the live version of the configurator (configurator.input.club), even with no modifications to the default layout, the downloaded .zip only contains kiibohd.dfu.bin, and a log folder with build.log, kll_defs.h, generatedKeymap.h, and buildvars.h.
Looking at the code, it seems like it should have the .kll files included in the archive.
Clicking on Version gives me a 404.
Is there a way to assign a unicode code to a key? I actually want to assign an emoji to a key, and figure the easiest way to do that is to assign the unicode code for that emoji, but I'm not sure how to do it. Thanks.
I cant find the layout files for programmers dvorak or any layout that demonstrates how to add keys where numbers are accessed via shift. How can this be accomplished?
Media keys work fine in linux (Ubuntu 14.10 Gnome), but when I boot into windows, there doesn't seem to be any scancodes recieved.
This is what I get when I use a generic craptacular HP keyboard:
The input is captured with KeyCodes
Curiously I'm not getting any keyDown events on Play/Pause, previous or next.
With the Infinity keyboard, I'm not getting any input as far as I can see.
I'm running windows 8.1 pro and Ubuntu-Gnome 14.10
Need to better organize the keys that need to be placed on to the layout by hand. For example:
All function layer modifiers need to be together AND sub categorized in to their usage (lock. latch, shift)
Nav keys should all be together (pgdown/up insert, etc should all be together)
This is an issue with the Infinity Ergodox.
The LCTRL key (code 0x2C, the lower left key on the left keyboard half) does not stay pressed down when in layers other than the base layer (that is, it registers a press followed by an immediate release). It functions correctly in the base layer.
It doesn't need to be mapped to LCTRL, either; any key I tested seemed to exhibit this problem.
I'm using the right half as the master board, if it matters.
Gist of my keymap, with the LCTRL key bound to stuff in all 7 layers:
https://gist.github.com/CatatonicMan/bf2626e51fc022f6e435
Link from configurator goes to code page
what does /f/1 do?
How do you import a configuration you downloaded from the configurator in the past? It's not like it gave me a json but it sure asks for one... Don't know where to go from there.
Is there a primer on how the layer locks work anywhere? I've been looking but I've yet to find anything yet. If it's there it should be linked to prominently
Several people have reported issues with the TrueFox layout.
Opening this issue to track the progress.
As a pre-cursor to having a sort of fancy macro entry, it would be nice to let the users manually entry macros and capabilities as they would directly using KLL.
To prevent user error, each entry should be cross-referenced with the overall KLL configuration to validate if the name exists or is possible.
Capabilities are easy to cross-reference.
https://github.com/kiibohd/controller/blob/master/Output/pjrcUSB/capabilities.kll
For all possible "Result" definitions, see the KLL spec (https://www.overleaf.com/read/zzqbdwqjfwwf)
Not sure if this is possible but it would be great if you could have hover over pop-ups over various buttons to show help for like "Import map" and the various keys (latch, lock, clear, etc).
Right now if an error occurs while importing a map nothing happens. Trap and display friendly error messages.
The hash for the firmware should probably be created based on the keyboard map not the layout name since you can have multiple layouts sharing the same name.
Please change the tab colors on the configurator to match the ErgoDox backlight or vise versa.
I personally am not invested emotionally in what color constitutes what layer, but it should match the configurator,
Currently a chunk of HTML is being pre-rendered from the backend and sent across the wire, change this to send JSON that is templated client-side.
The issue is that while using Norwegian layout, and presumably other layouts as well. It seams to me an arbitrary different key may be placed presses while pressing some keys using a Norwegian layout. Keep in mind I have not tried flashing a layout that looks wrong deliberately. (still waiting for my Infinity 60% and Infinity ErgoDox). However it does not seam to reflect this quote from the Wiki: The resulting key is what you should assign in the configurator.
Example:
+
which is US equivalent as -
I get =
in the configurator.\
which is US equivalent as =
I get [
in the configurator.-
which is US equivalent as /
I get -
in the configurator.'
which is US equivalent as \
I get /
in the configurator.æ
which is US equivalent as '
I get '
in the configurator.^
which is US equivalent as ]
I get ;
in the configurator.I hope the examples suffice there are at least two other wrong, but I cant type them because they include the character used for code in Mardown. The rest seam to be correct, I am fairly certain I tried them all. Also the Norwegian >
which is equivalent of british \
, but thats really not a big issue and I believe you are aware of that.
Workaround:
User sets their input language to US English while using the configurator.
Proposed resolution:
Get the keys to at least insert the appropriate key, no matter the input language of the OS. Even though they don't match up with what is visible on the key, but they would match up with the US equivalent so it would work.
Resolution most wanted:
Support for different locales. So while using the configurator, you would pick your keyboard locale, and it would display the keys for that locale as well as flash the expected layout.
Will give more information if needed
When the Ergodox infinity is plugged in it shows that it is a game controller (possibly DirectInput/Xinput) as well as the obvious keyboard and Com port.
Could something be implemented into the configurator to access this functionality and pass the keystrokes as controller input?
My apologies if this is the wrong repo for this issue - feel free to direct me to where it should go and I'll happily move it over!
I have an MD1, hacker layout.
I used Kiiconf to switch the position of CTRL and FUN1, in addition to a couple other edits. Here's my resulting layer 0 KLL file that came from Kiiconf:
U"CTRL" : U"FUN1";
U"FUNCTION1" : CONS"PAUSEPLAY";
U"FUN1" : U"CTRL";
U"RGUI" : U"FUN1";
U"RALT" : U"RGUI";
Everything seems to be working fine, minus my control keys (left and right) :(
Here's a screen shot of Kiiconf to give a more direct idea of what I was trying to do:
I'm going to be looking into this more over the weekend, figured I would open this up to see if any quick solutions were already known, though. I figure if I just write my own KLL from the ground up and compile I could probably avoid this issue, I'd love to use the kiiconf convenience though!
Thanks in advance 🤘
I am trying to generate the firmware for the below set up. When I flash however, locking to layer two does not result in the QWERTY layout I am expecting. Instead it keeps the QDRWB layout i have on main layer.
Note some keys are mapping up. This includes the prnt screen key is working on layer 2, and anything not in the main 1x key region.
See the following json for a set up:
https://gist.github.com/anonymous/0b93e7a585fa8f647622
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.