Integrating with the OS (windows)


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.


Awesome! Thanks!

Ok I have some questions:

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?

Thanks for all the help!

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)

You can note that left Fn actually enables layer 3, which is:

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.

You can do it but you have to change Windows registry settings.

1 Like
1 Like

Same here, I will answer without double checking.

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

It does not do anything else.

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.

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.

What would the current application do with that enabled?

It doesn’t have to be alt-tab, right? Any way of changing app will work?

How does that work with left-fn enabling layer 3? Or more generally, with other keys set to do some type of layer operation?

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