Another noob question: what is the warp function on the Fn layer? I searched the forum but didn’t see this asked already.
It’s for doing a narrowing-down search of the screen:
Pressing “warp NE” puts the cursor in the center of the top-right quadrant of the screen.
Subsequently pressing, say, “warp NW” would put the cursor in the center of the top-left quadrant of the top-right quadrant
crude ascii-art diagram, where 1 is the cursor position after “warp NE”, 2 is “warp NE” followed by “warp NW”.
--------------------------------------- | | | | | 2 | | | 1 | | | | | | | |------------------+------------------| | | | | | | | | | | | | | | | | | | ---------------------------------------
I suppose this is to move to a given location on the screen fast? How can the keyboard know the pointer position on the screen? Or does it require support from the desktop environment? I’m using KDE Plasma 5. Would it work there?
Yeah, that’s the idea…to be honest, I’ve never really used it in earnest.
I think it can move it to a particular location by acting as an “absolute” pointing device instead of a relative one. At one point there was some issue with it working on Linux, but that seems to be fixed now (I’m using Linux with the i3wm window manager and it works fine for me). @algernon will know more about the details.
Wow I found the description and more at https://asylum.madhouse-project.org/blog/2017/03/10/rose-tinted-glasses/. This Gergely Nagy guy seems a real expert. I suppose he is the same as @algernon.
His above post, https://asylum.madhouse-project.org/blog/2016/12/20/Keyboard-firmware-work/ and https://asylum.madhouse-project.org/blog/2016/10/15/multi-purpose-keys/ clinch the deal for the M01 for me!
Especially that insight about normally chorded keys no longer being needed to be pressed together is a real eye opener for me, who was wondering about how to put my Level 3 switch (needed much for complicated Indic scripts I use daily) on both sides of the keyboard. Now I realise I don’t need to!
Wow man wow!
Yup, Gergely is algernon. He is definitely an expert!
For future reference, this works because - as @james.nvc put it - the keyboard also presents itself as an “absolute mouse” device. This doesn’t say much, so imagine that it is also a touchpad: those allow the user to touch any part of the pad, and have the cursor jump there. This works by presenting the pad as a 10000x10000 area, and it sends coordinates based on that. The operating system scales it down to the appropriate resolution, so the device itself does not need to care about that.
I’m a little ashamed of how long it took me to realize that FN + T (or any other mouse key) is required to reset the warp. It’s in the Readme for the MouseKeys repo, but I don’t know how many folks are digging that deep right out of the box.
Having thought about it for a few, that behavior does make sense, unless you’re one of those ‘focus-follows-mouse’ folks. Otherwise why would you reposition the cursor without a click? But in just testing out the functionality, I never clicked anywhere with the keyboard.