Support for Alternative Layouts
This is a summary of how alternative layouts have been supported by kits such as Colevrak and Homing. It is not a discussion of alt layout performance and development, but if that interests you I highly recommend starting with Pascal Getreuer’s A guide to alt keyboard layouts (why, how, which one?). It’s a concise and comprehensive overview with links to some great sites that go deeper. He also has a separate Links about keyboards page. The Keyboard layouts doc he recommends explains layout goals and metrics in detail, summarizing the alt layouts discussed here as well as more than one hundred others. Sculpted-profile The majority of custom keycap sets are sculpted-profile (Cherry, SA, MT3, KAT, etc. - more on profiles generally here) so let’s start there. Because each row has a unique keycap shape, alt layouts require a unique keycap for each legend that moves off its QWERTY row. At first there were two The Dvorak layout was patented in 1936 by August Dvorak & William L....
Apr 23, 2024
1. Trying to make a .hex here http://minivan.config.thevankeyboards.com/ gives an internal server error 2. Even if I could make a hex, some explanation of what the press types ("toggle", "momentary", "tap key", and "one shot modifier") would be great. I can guess for some, but no obvious language that would imply e.g. how a shift key normally behaves (something like "hold"?). 3. Is it that hard to imagine that people don't have the programming background to know what a sentence like "Edit the system environment variables and add %HOMEDRIVE%\MinGW\bin to your path variable" means without further explanation or listing of steps? Like, I sorta know what this means, enough to know how to google the answer, but c'mon. This is "draw the rest of the fucking owl" level of instruction for many. 4. Device manager fails to find a driver for ATmega23u4 device in the Flip3.4.7\usb folder
Just a lot of hassle overall. I've built WKL.kr boards, a GON board, and Duck boards, and only the latter remotely compares to the level of unneeded complexity required just to program a new layout. Talked to a friend who bought an earlier Van44, who said he couldn't get the programming working on any of his windows machines, and ending up having to do it from a virtual machine.
Also have a shitton of chattering switches, which is not your (evangs) fault, but still contributing to annoyance. I scrapped the plan to put alps in this after seeing the boatloads of pics of broken lightcycle stems stuck inside switches; I know this is on SP and not you, but had those not been fucked up I would've done the planned alps build and very likely not had any chatter issues, etc etc. Just another factor making me wish I had not bought this board. Shame, because I do love the layout.
:-/
But in short: - Toggle: Literally a toggle, functions like CAPSLOCK. When pressed, the layer will change to the one referenced. - Momentary: As soon as you let go of the key, the layer is deactivated and you pop back out to the previous layer. Functions like SHIFT - Tap dance keys: Every key can have multiple functions depending on the amount of 'taps' (quick presses). Hit the semicolon key once, send a semicolon. Hit it twice, rapidly -- send a colon. Hit it three times, and your keyboard's LEDs do a wild dance. That's just one example of what Tap Dance can do. - One Shot Modifiers: So let's say you have your left Shift key defined as OSM(MOD_LSFT). Tap it, let go, and Shift is "on" -- but only for the next character you'll type. So to write "The", you don't need to hold down Shift -- you tap it, tap t, and move on with life. And if you hold down the left Shift key, it just works as a left Shift key, as you would expect (so you could type THE).
The fact that you want to customize a fully programmable keyboard without any programming background is great. But you have to do some work to learn how programming works. Google is your best friend! Googling 'How to edit the system environment variable' will give you some nice information about the System Environment Variables.
I agree about setting up the programming environment on Windows. That's a bitch. I also use a Virtual Machine with Linux Ubuntu to program my keyboards. I disagree about your unneeded complexity statement, QMK is GREAT and will change the way you use a keyboard if you become comfortable with the programming. It has so much functionalities!
I have no issues creating a HEX file using that site, put the code in a paste on pastebin.com so I can take a look at it!
I hope I cleared up some of your issues and helped you out a bit!
> The fact that you want to customize a fully programmable keyboard without any programming background is great. But you have to do some work to learn how programming works.
Nice zinger, but a programmable keyboard just refers to remapping key functions. The linguistic connection to programming as a practice/field of study/whatever should not, I think, excuse the needlessly-complex requirements for remapping this board when other small makers have shown it is possible to do it simpler and better. I understand that QMK has advantages, but I just can't really believe there isn't a way that allows simplicity for novice/intermediate users while also allowing flexibility for advanced (especially since e.g. WKL and GON have robust GUI-based keymappers that don't require anywhere near the same level of complex instructions).
I seem to have been misinterpreted, as well. I know how to update system variables and how to google solutions. I still think that the former is a very high knowledge bar for your basic instructions to have without any further explanation or links. This is more feedback directed to @evangs rather than a request for help, and sorry if it was misleading to have this listed as a hangup.
edited: to be less aggressive to someone who was trying to help
The minivan.config website is slow for me, but I have luckily not experienced the server errors.
TMK and QMK both state the different modifiers and what they mean and how they work, if you need more info. If you can't find your device, try to check "show hidden devices" or something like that, in the device manager. I'm on Win10 and that helped me install the driver. Windows is shit, but I didn't have too many issues doing it on Win or MacOS. The Windows instructions suck but that's Windows.
I get your comment about system variables, but if you are building a mechanical keyboard and you want this device and researched what it would take to program and make, you should be able to google "how to edit windows system path". Seriously. I get it, but it just comes off as really not too nice.
The drop states that the programming is via open-source software. Now, I dunno about the other keyboards but if they don't use QMK/TMK they are not as flexible. Evan went through a lot of work to get the configuration tool set up, and didn't have to do it at all anyway. A bit disingenuous to say that other keyboards are better, when this is open and powerful, and anyone who gets a keyboard and builds it only to THEN complain... I mean come on, do your research.
The configurator had some issues, but just email evan and he'll help you out. Or download TMK/QMK and do it yourself. Hope that helps with your device mgr issues.
Look, I'm not like heartbroken. I'll maybe lose like $20 on this and a few hours of my time after all was said and done. But I doubt I'll buy another kit from evan, and I think it's worth it for him to hear about it if stuff like this is driving people away from his products (regardless of whether other people did not have problems with those particular things, or whether people like you think those complaints are justified). But, by all means, as long as you are able to feel superior and act condescending, don't let me stop you.
I loaded the default layout for the pcb with Arrows . I guess my questions is, how do I switch back to the base layer? In the default keymap for arrows layer L3 is a toggle and not momentary. There doesn't seem to be any way to switch back. Looking at all the options I don't even know what key I would add to switch to the base layer since they are ....... and just answered my own question.
So if I add the L3 toggle to Layer 3 then pressing it in the layer 3 will toggle back to the base layer? A better way to say it would be it would turn of L3, right?
Is there a command that says "go back to base layer" Like if I want to create a tap key that went to each layer or is it kind of like the base layer is always on and you can never turn it off, but you can turn off and on the layers "above" it?
On the driver issue, I guess I just didn't need to do that step. Atmel Flip was able to connect to the board and upload the new hex without it. I'm not sure whether this is just because I have used atmel-based keyboard drivers before or what, but it might be worth noting in the instructions that this step may sometimes not be necessary.
I still feel like this process is overly complicated compared to a good gui-based remapper. The instructions should definitely be looked at by someone with more experience in technical writing. It would surprise me if I were the only person to have stumbled here.
The board is great now that I've figured things out. There are things I would change about the layout now having actually used it and put caps on it; a version with a 6.25 space, and/or shuffling some sizes around on the bottom to avoid the 2u space in favor of rshift or split shift sizing there would be nice. I also don't understand why the case has like 10 mount holes for the plate/pcb when a standard 60% has ~5. I would also love a version with underlighting and a duck/rs-style acrylic slice if @evangs is considering any new case concepts.
Someone sometime can come up with a GUI tool (like evan did) and that's great and better for newbs and non-technical people, but the fact that it's not some proprietary buggy shit is better. I won't buy a vortex/poker again because the thing is so damn limited.
underlighting would be great to see.
Normally you can only switch _above_ a layer. 1->2->3->...->n. If you want to have a key that goes to another layer in QMK regardless of hierarchy you can do that with TO() I believe. You can also set the default layer or clear other layers as well. SO I think with TO() you can do it so you can do like Base_Layer->L2->L3, Base->L3, Base->L2 etc with TO() as opposed to TG().
I did see the device manager comment, but it wasn't applicable. The device appears in device manager. It is the stage where you open device properties to update driver and pick out the atmel usb folder where it was failing. I didn't end up solving this; it just worked without me doing this step.