 Okay, so actually during the last year I decided to build my own mechanic is keyboard. And after I built everything and assembled everything, it was the time to sort of go ahead and decide what kind of keyboard layout I should use. And I'm thinking because every all of us spend a lot of time typing every day right. So this is why I'm thinking it is worth putting a bit more thoughts into how to optimize the keyboard layout. And so QMK is actually an open source format for mechanical keyboards, which QMK is an open source format which sort of lets you customize almost every aspect of your layout. And in the following slides, I will just sort of give a few suggestions I would say for people who use QMK, how to optimize the keyboard layout. And even if you don't have access to the format of your keyboard because obviously you need to be able to flash the microcontroller right. But actually there are also software tools available, which you can just install on Windows or Mac or wherever. And then those software tools can actually take the inputs of your keyboard and sort of emulate the functionality of QMK as well. So that means many of the things I'm showing here you can actually also replicate it on the software side. Yeah. Okay, let's start with a normal layout you would probably find in a off the chef keyboard. So this is like a QMK layout. So that means, like, if you buy a keyboard usually all those keys will be arranged according to QMK. And QMK is like the name of the keyboard layout because those are the first characters in the first row. And essentially my first suggestion is to change to a layout other than QRT because QRT was actually developed back in the day when they had those old mechanical typewriters. And it was actually designed to be slow, because apparently if you type pass on a mechanical typewriter, it causes those hammers, which in the end right. So and nowadays they have much more modern keyboard layout. And those keyboard layout actually use some sensible metrics to optimize if you have to decide like where to place the keys on the keyboard essentially right. So examples are Vora, QRT and Workman. And usually the metric they are optimizing is finger movement. And this is also most of the time is language specific, because you can imagine like every language uses different characters differently right. So those three in this case are optimized for the English language, but they are keyboard layout for other languages I guess. So what do you think of their speed? Yeah, so I mean speed is actually not big, like it's actually not what they're optimizing for. Like what I said right, usually they're optimizing for finger movement. So essentially what you want to do is you want to move your finger as if it's possible to reach most of the keys you need. And only in certain, yeah, few cases you would need to reach far away to type the key. Yeah, so this is where they move, they optimize for finger movement is they want you to not move your fingers a lot essentially. Yeah. Okay, yeah. So, anyways, so this is the first suggestion if you want to optimize your typing, you can consider switching to another layout and QMK actually allows you to place the keys. So that means you have to control over every single key on the keyboard. Yeah. Another feature QMK supports are layers and you can imagine a layer of being like a set of keys, which you can enable and disable and layers can be stacked on top of each other. So that means you can have, I think up to 32 different layers. And I mean, not that I want to use it but I think you can have 32 different sets of keys and always the top, the top most is the one which is active. If you want to switch back, you need to deactivate them. So how I use it in my case is I implemented layers for symbols and another layers for numbers and navigation. So, okay, this is the symbol layer, and then another one for the page and for the like as a numpad sort of right. And why I do this is because if you usually look at the standard default layer, yeah, you can see that the numbers and the symbols are mostly on the top or on the edge of the keyboards, like either here or somewhere in this region. So if it's on the edge, that means that you need to move your fingers a lot in order to reach them. Right. And to make that more easy, you can put your symbols and numbers a bit more closer to the center. And actually, so those keys are the ones which is the home road so it means this is the natural wrapping position of your finger. So all the keys you have over here, they will be very easy to reach because they are just under your fingertips. Yeah. So, and in order to synchronize those layers to each other, I arranged the keys according to them. So, some of you might know it's like a command and text editor. And so essentially, see those keys over here. And short cuts for in them to, for example, change to the beginning of the line or to the end of the line so it is a step to the carrot and and the, and the dollar signs. So and those ones correspond to those two keys in my layer below so I don't need to remember two different key positions. Yeah. So in when we have functions to change between words so W press would bring it to the next word and V, which is this key in the format will bring it to the previous word. So and this is meant to be a respect of the so that means it just makes my life easier to not having to remember so many different key positions. Yeah. Okay, yeah. Yeah, then the next suggestion is to use homeroom modifiers keys, which, okay, on one hand can be your ordinary shift control keys, or other modifier keys are the ones which allows allow it to switch between layers right. And by placing those keys on the homeroom, you essentially avoid all the finger movements involved with activating layers and shift and control. So how it works is, say you have a control key over here. If you just have it, meaning press and release, it will act as the key you define. For example, in this case, just a letter or a symbol or number, whatever. So press it and then press it together with another key, then it will act as control. So it means, you know, sort of, don't need to move your fingers away from the homeroom, in order to activate those things. So, and, okay, we have to check control. This is a layer toggle, which in my case activates the symbols there. The pinkie activates the navigation and numbers there. And, okay, and this is just a normal layer, but on this side I implemented it as a tap dance and tap dance is another function, which essentially lets you define different actions, or any number of key presses. If you press one, you have one function, twice another function, and so on. So, okay, how I made use of this is, if I single tap, it will just activate the letter a in this case, or maybe the symbol according position right. If I press it and hold it, it will just as a layer toggle and activate the number layer. And if I double press, it will lock the number there. So you can think of it as a number. Sorry. R what? Oh, okay. So, um, yes, if it has to is, um, I haven't encountered this scenario actually. Yeah, in this case, you can, you can either tap it slowly, because essentially, so to avoid it to be recognized as a double tap, because what you can actually do as well within QMK is you can modify all your timings. So that means you can actually set how many realistic and it should be in order for it to be recognized as a double tap or as two separate keystrokes. And this is also, like, I guess part of the optimization. Like, if you type and then you feel, um, the issue that I activated in terms of not get the double tap, right. So then you can adjust the timing to make it bigger. Yeah. It's the same as just double click mouse. Yes, yes, exactly. Yeah, exactly the same. Yeah. Okay. Um, if you think that there are keys which are too far away for you to reach, you can now shift them around because of your home mode of fires, there are a lot of free spaces available. So what I did in this case was, um, I moved backspace from all the way over in this corner to here where the caps was and the caps was here. And then I also moved a bit close. I mean, I'm like people that's maybe a bit more different because I use the auto linear there. So that means actually my entropy is on the on the shift, which is quite convenient to reach, I would say. And um, yeah, the UK and my space in my case is available to shift and backspace. Yeah. I mean, sorry. This one. Yeah. I mean, actually, after moving it around. There are some keys I buy and I feel like they are too far away anyways. Okay, after this, um, what you can do actually before you do this, what my last suggestion is to sort of monitor your single. So, um, this is in my case, it looks like this. So, and there are ways to generate the heat map for people and actually what I developed is this app over there, which is like a website, which you can configure where you can configure like a plugin for Q and K, or that can function, which records the key cons in the background. And then in the end of the day before you unlock it or something, you can upload it to the website. And then over time, your key cons will be accumulated in the database right and then it will draw you like this. And then, I mean, for me, it's actually already a bit too late because I kind of optimize most of the stuff, but if you start optimizing your keyboard and then you see, oh, okay, I have a lot of people access like they over there in the upper right corner. And then, essentially, you know, what, what to do and how to shift keys around. Yeah. So, um, I don't know if I can click the link I can show you how it looks like. I will use this one. No, but I keep on layout. Okay, okay. Okay, so essentially, what what you get after installing this thing on your mechanical keyboard, you can assign a key code, which dumps the key point of the end of the day. So in this case when I press certain key combination, it will sort of print the key, it has accumulated I mean now zero because it's because I haven't typed yet right but if you do it after a while it will. Yeah, it will show all the key cons and then you submit and draw the heat map which will hash for you if you so the everyone knows has their own key. Their own heat map and then it looks like this. Yeah. So and Okay, back to the presentation. Okay. So, in conclusion, so you can shift keys around all you want right I mean the problem is that shifting around is one thing, but actually learning how to touch type of the new layer is a is a whole other thing. So, I mean I found out that it takes me at least a few weeks to sort of get it right and a few months to actually get fast with it. So it means especially if you want to make major changes to your keyboard layout. It's, yeah, it's can be quite disruptive to your workflow. So then another thing I found is like homo modifiers because the sort of weights for the for another key to be pressed, it will induce some latency by typing. I mean, not that you if you touch type it doesn't really matter so much but for example if you have fusion to 16. And then you want to use control and mouse wheel to to zoom in and zoom out right so they will always be a delay before you can scroll because it's the delay before it will be recognized as a control press. Yeah, I mean this is one thing I have a lot. And another thing is, there are some locations which work better at the millennia they are so I showed you here at this is where actually your keys are arranged in a straight line. So that means if you do arrow keys for the number and number is actually better if it's this way. Yeah. And lastly so I wrote like a block for this keyboard, which includes the information I presented here, and you can search on hackaday.io for like the 60 which is the name of the keyboard, and then you can find this and other information. Thanks.