Click to view our Accessibility Statement or contact us with accessibility-related questions
Ir164
17
Mar 15, 2017
The online configurator feels very limited and frustrating and the kll layout files do not seem to provide much more freedom. I use a non US layout on my operating system and am struggling to customize the firmware to my needs.
* Given a physical key KEY, how can I map KEY to something and Shift+KEY to something else? * The small set of macros provided on the website is only useful for users of the QWERTY US layout. How can I define my own macros?
I do not want to rely on tweaks on the operating system layout (like a custom layout) because I want to be able to plug my keyboard in any computer in my country that runs the default local layout. Some characters do not exist on the standard QWERTY layout so I also cannot simply switch to QWERTY.
For example, I would like to assign the four small vertical keys to ( [ { < and > } ] ). In my local layout, < and > correspond to the following physical keys: ISO/ and Shift+ISO/. { is mapped to physical ALTGR+4 and } to ALTGR+= As you can see, I happen to live in the Land of Logic. Here, given one of the small vertical key from the left half (let's call it KEY), I would have to configure KEY to spawn ISO/ and Shift+KEY to spawn ALTGR+4. As far as I know, the online configurator simply cannot do this. What are my options?
Jon808517
30
Mar 16, 2017
Ir164From my somewhat limited research, I believe your best bet is to compile your own. I think there's a virtual machine out there somewhere you can download that has all the tools, but I haven't had time to do that yet. It won't be nearly as straight forward as the online configurator.
Alternatively, you could google around to see if anyone out there has done the layout you want (probably not that likely but a 1 in a billion chance is still a chance...) or at least comes closer than the configurator with layers. If it's not a default shift enabled key, then you'd have to define a shift key as a different layer and map that key to the layer. I doubt that's the answer that you wanted to hear, but I'll bet once you put the work in, it will be worth it. Even if you spent a week figuring out how to compile and create macros, you'd still have potentially a lifetime of keyboard use out of it.
SifakaMon
310
Mar 16, 2017
Ir164I also think you are going to have to install the build tools and edit a custom KLL file to do that. I too was looking for how to do anything tricky in the online configurator like define a fn key that can be pressed and released without another key to generate a keypress (my big thumb movement hotkey could be tab or enter this way). I have some experience installing this kind of software so it's not a very big deal for me, but it does seem like it would be nice to have the online configuration tool be able to take/edit raw KLL and compile a firmware for you from that as an expert option. Though, it's a little disconcerting to download firmware for a keyboard from a random site on the 'Net. Anyway, the link Jon mentions to an ArchLinux VM that has everything installed is in the git repo README here: https://github.com/kiibohd/controller ... personally I'm going to take a whack at setting it up on my Mac.
Ir164
17
Mar 16, 2017
SifakaMonThank you Jon808517 and SifakaMon for your answers. I have already taken a quick look at the kll files but it seems that they are just a textual representation of what the online configurator displays and offers to edit.
I'm afraid you are right: I will have to throw myself in advanced firmware customization. This is actually a good thing and I had planned from the very beginning to take the opportunity to learn from this and dive into low level tweaking but I had also expected to be able to quickly set up a draft of convenient configuration first. On the plus side, I am already a daily archlinux user. Mimicking the VM conf and installing the dependencies should be quick.
Yesterday I stumbled across an interesting gist written by an ergodox user. He said that the sanest way to configure an ergodox, instead of generating scancodes that reverse-match the os local keybindings (it is indeed quite silly when you think about it), would be to generate individual scancodes for each and every possible combination (every physical key on every layer minus the layer switching keys) and then do the actual mapping in a custom keymap in the os (really easy: a simple text file in xorg on linux with lines such as "keycode 59 = semicolon period semicolon period multiply U22C5 multiply U22C5"). Admittedly, this goes against my initial request (being able to plug the keyboard in any computer that runs my country's stupid local keymap), but I like the idea and I could still have an additional compatibility layer just in case.
Jon808517
30
Mar 16, 2017
Ir164Best of luck to you! I think you've already won the battle by being open to the work it will take. I'm probably fortunate that most of my dealings will be with US/Windows, so little worry about compatibility from machine to machine. I'd ideally like everything to live in the keyboard for work. I'm currently using a combo of layers built with the configurator and AutoHotKey to accomplish anything macro-ish. I love working with AHK, but I fear one day my employer won't allow it. So that's the main reason I'd like everything built into the keyboard firmware. It's not a high priority right now, so I've been able to wait a bit. Would love to hear how things turn out for you!
SifakaMon
310
Mar 17, 2017
Ir164There's definitely a wealth of capability in the KLL language that the configurator doesn't allow you to do (multiple character macros for starters!) Good luck hacking on it!
Jon808517
30
Mar 17, 2017
SifakaMonWell, an hour and a half later and I've failed miserably at trying to install that virtual machine on my computer. I'm running Windows10 and try as I might, I could not figure out how to get that .tar to a .iso. Who knows what would have happened after that, but a quick glance at some of the other documentation on the wiki and I'm confident I would go to bed angry.
Hope you do better than I did!
vvlierberghe
Mar 17, 2017
Ir164There is a programming language called C that you have to learn in order to progam custom macro's with this keyboard.
SifakaMon
310
Mar 20, 2017
Jon808517I hit a wall when I realized the KLL based firmware doesn't even support the functionality I want from QMK where I can tap a key for one code and use it as a layer shift for another code (which, actually,it doesn't look like QMK exactly supports either, so this will be fun...)
netz
16
May 8, 2017
Jon808517You don't convert a tar to an iso. I'm unsure as to the actual vm in question, but likely its VirtualBox (as vmware is costlyish). I'd have to check the DL myself to check what it is, but the basic gist is this:
1. Install VirtualBox (free download) 2. Import the virtual machine into it (I think those can be packaged as tars) 3. ????? 4. Profit.
Jon808517
30
May 8, 2017
netzI was attempting to use Hyper-V, Windows built in VM software. I read somewhere that you needed to convert the .tar to .iso. I'm definitely not the best at this, so it's entirely possible I misread something. I may or may not have a "helpful" 2 and half year old toddler "needs" me to color with her every 20 minutes as well.
netz
16
May 8, 2017
Jon808517I'm currently away from my personal pc (at work), so I can't easily investigate the particular vm image you're attempting to use. To be completely honest, you may even be able to get away with using the Windows 10 WSL/bash/ubuntu on windows/whatever to build the firmware (unsure how nice ubuntu is for providing arm cross compilers; I use gentoo at home).
A tar file is a 'tape archive' (used to be used for [and may still be] backing up to tape drives). Basically you can think of it as a special sort of zip file. You can open it with 7zip (great software) and look at the contents; giving me a list/screenshot of what it contains could assist me in determining the type of vm it is.
Jon808517
30
May 9, 2017
netzDoes this help?
search
netz
16
May 9, 2017
Jon808517Ah yes, that definitely looks to be vmware. I think vmware player is free to use with certain limitations.
Jon808517
30
May 9, 2017
netzI vaguely remember looking at the player... Perhaps I'll give it another go! Thanks for the help!
vvlierberghe
May 9, 2017
Jon808517Dear jon808517, can you please send a link to this vm of this linux distro with the firmware installed?
Thanks.
Jon808517
30
May 9, 2017
vvlierbergheThe link for the download is here:
https://github.com/kiibohd/controller
Scroll down a bit and you should see the VM link.
netz
16
May 10, 2017
Jon808517Also, apparently ubuntu does ship an 'arm-none-eabi' toolchain in their repos without a need of another ppa. Windows 10 users should be able to use the linux subsystem's ubuntu shell to compile firmware. Using dfu and friends on windows is a bit of a pain in the ass, however.
vvlierberghe
May 10, 2017
Jon808517Thanks.
Jon808517
30
May 12, 2017
netzIf I'm sending my wishes out into the universe to solve a lot of problems for me, I would love to see a raspberry pi option for me to just load onto a card and go. No idea what the technical limitations are there though.
SifakaMon
310
May 12, 2017
Jon808517That should be completely doable but only helpful for those who happen to have an rPI around. I mean, if you are using the keyboard on a rPI there's no reason you couldn't load the same tools and software to program it, but as a bootable SD card specific to the rPI to program it for eventual use on a different computer, I don't see much of an advantage of packaging that over a VM or docker instance.
Jon808517
30
May 12, 2017
SifakaMonYou're probably right. However, I seem to be really bad at getting the VM up and running. I've had much better luck getting specific use case raspberry pis up and running and all I really wanted to do was create some true macros. I get by just fine with some AutoHotKey help, but it would be nice to rely solely on my keyboard.
vvlierberghe
May 13, 2017
Jon808517I have a lot of XP with the raspberry pi. I use linux as my main system for everything. Maybe i will make it.
vvlierberghe
May 13, 2017
SifakaMonOr a install program that does it for you? On windows,mac and linux.
SifakaMon
310
May 14, 2017
vvlierbergheThe nice thing about a docker instance is that it can (usually) be easily run on Mac and Windows. I was able to run this one on my Mac: https://hub.docker.com/r/potz/ergodox-ez-compiler/ using Docker for Mac. It looks like that particular compiler doesn't understand the TT layer mode in the Ergodox EZ Configurator, though, and it doesn't produce Infinity builds yet; but these are things that can be fixed, I'll see if I can get something like it set up for Infinity on QMK... Not sure what QMK's current support for the displays is yet either.
PRODUCTS YOU MAY LIKE
Trending Posts in Mechanical Keyboards