I have been tweaking a tool to let me switch layers according to the focused app on windows. Since it would be a feature other could want. I decided to release it on github.
For the ones interested, check Kaleidoscope Companion. It is quite rough on the edges, feel free to make feedback, share ideas or whatever.
What do you use it for? Iâd be very interested in sample layouts.
What happens if a window from one application has focus and youâre typing in it but a different application is up front?
And, what happens if you switch to another layer while youâre in an app?
And also - the readme says: âYou can configure several layers for a same application. Although it will deactivate layers on window unfocus.â
So Iâm very confused⌠if you configure several layers for an app, which one takes effect? If they get deactivated when you leave that app does that mean you canât access them from other apps?
I use it for games mostly. Actually when Iâm bound to keep both hands on keyboard, my base layout is generic enough so I donât need to customize it.
The real use I have of it is when I want to âstuffâ alot of functions in left half of the keyboard. i.e: Bind arrow keys to Fn w a s d
Apart of macro and very specific changes I donât think a sample layout would be any good but here is an example of layout for one of my game (which is activated/deactivated by the application)
I believe it cannot happen. You can scroll on a unfocused window but I donât think you could send keyboard events to unfocused window, please correct me if I am mistaking.
The nature of layers makes the highest (index based) layer having priority, if you âswitchâ to a layer you actually enable a higher indexed layer, thus this layer having priority. If the layer you manually switch to has a lower index than the one activated through the app, the latter layer will have priority.
For the third question, you should, indeed, dedicate layers for the application, since it doesnât distinguish if you manually activated a layer, want to keep it until manual deactivation.
The principle is that the application takes responsability of activating/deactivating of the layer you configure it for.
To be clearer, letâs say you configure layer 2 to be associated with Word
Alt tabbing to word application: Layer 2 is being activated on the M01
Alt tabbing on firefox: Layer 2 is deactivated on the M01
Thank you for the tip, I didnât know it was possible.
It would be a shortcoming of the application then, although i do not see how it could be fixed. Iâd have to look further.
EDIT:
Okay, just tested the X-Mouse Controls utility, it appears it actually changes the focused window just like another method would do. The noticeable difference is that it doesnât necesseraly raise the window.
The Kaleidoscope Companion would actually apply configuration of the mouse-focused application, thus, you cannot type in a window having layer configuration of another window.
Any other mean of switching app should work indeed, alt tab is only an example.
The left fn enabling layer 3 is actually confusing, it has nothing to do with the tool itself, it works just like the regular Fn key which, by default, switch to layer 1.
Another example:
You configure layer 2 for all keys to be transparent, except for left fn key which switch to layer 3.
You configure layer 3 for f key to a macro which type pay respect
You configure the tool to bind Word application with layer 2
You are in firefox, only layer 0 is active (which is the default)
You alt tab to Word. The tool enables layer 2. Layer 0 and 2 are active
You press left fn. According to the layer 2 layout, it activates layer 3. Now layer 0, 2 and 3 are active
You type f. It actually type pay respect
You release left fn. It deactivates layer 3
You type f again. It actually type f
You alt tab to firefox. The tool deactivates layer 2. Now, only layer 0 is active