PDA

View Full Version : About the f# keys



TheoJava
March 7th, 2012, 02:07 AM
Occasionally I like to think about ways in which the standard desktop keyboard layout could be better. Today I took notice of the function keys at the top and wondered to myself, "How come these keys are always mapped for single-press functionality, instead of being operated the way shift, alt, control, and meta are?"

Assuming a keyboard has 12 function keys, they're set to be used with the numbers row (` through =), the letters, and other generic symbol keys (not counting the numbpad); this would allow 47 possible key combinations on each function key for a total of 564 combos with all 12 function keys. That's without taking additional combos (e.g., ctrl + f1 + a) into account.

This seems like it could be a better use of the function keys, to me. Then again, maybe there's a good reason (or many) it isn't this way?

forrestcupp
March 7th, 2012, 02:30 AM
I don't go that crazy, but I do have a few things mapped to ctrl + function keys.

Copper Bezel
March 7th, 2012, 04:49 AM
What do you actually need them to do? I very rarely use the function keys without holding Fn - which on my machine remaps them them to hardware functions like volume up and down - and for that, they have little drawings on them to tell me what they do. A few apps use them for other reasons. I have F1 and F8 set to specific purposes (respectively, to run a command and to switch my display to portrait) and of course use Ctrl+Alt+F# on occasion to switch to a TTY. Really, I don't use half of them as they are, and I wouldn't want to memorize 12 keystrokes per application to make better use of them, let alone 564.

I honestly really like Apple's arrangement better, more or less reducing them to those hardware functions I referred to. There are plenty of keys on the keyboard for accels, and most of them are easier to remember than F#+something. (For instance, Alt+X or Ctrl+Q is easier to remember than Alt+F4. It's already possible to assign reasonable keystrokes to existing modifier keys, and the F# row could probably be dropped entirely without much trouble.)

drumsticks
March 7th, 2012, 09:17 AM
I use the F# keys for window/workspace management.

* Alt+F# switches to workspace #
* Win+F# moves window to workspace #
* Win+Alt+F# moves window to workspace # and switches there
* Ctrl+Alt+F# switch to TTY #

(I use XMonad, so the usual window controls, such as Alt+F4 to shut windows, Alt+F10 to minimise (or was it maximise?), etc. don't apply).

These are the things I do often, and therefore I optimise for. Surely dedicating keys to change the brightness or volume is sub-optimal?

Copper Bezel
March 7th, 2012, 01:51 PM
Surely not, certainly on a notebook. No offense, but most of us use GUIs for window management. (Of course, there's the volume wheel, too, and I don't actually use the brightness control myself, so the only F# key I actually need is the one that switches my screen orientation, since I don't have a GUI control for that and it requires a script that the usual xrandr widgets can't run. But a lot of people use the brightness controls, sleep button, trackpad toggles, display switch, media keys, etc. that tend to be mapped up there.)

MisterGaribaldi
March 7th, 2012, 05:06 PM
Well, TheoJava, F keys traditionally work exactly as you say. Press [F1] and get whatever the program designer intended, press [F2] for another pre-canned function, and so forth and so on.

It really wasn't until Windows came along, and I'm not sure but I'm going to assume probably like Windows 3.0 or maybe 3.1, that F keys had relatively unified assigned functions, like [F1] for help, [F2] for file rename, etc. Up to that point, it was strictly up to the software designer what he (or she, occasionally) wanted them to do.

[CTRL] + [P] could be Print in one program, [ALT] + [J] in another program, and [F11] in a third.

That all being said, Linux lets you seriously re-map the crap out of your keyboard, so set it up to do whatever you want.

drumsticks
March 7th, 2012, 09:49 PM
We all use computers and programs differently, and thus we need it optimised for different things. As mentioned, the F# keys were originally intended for the program designer to map most frequently used functions for easy access.

So, feel free to map your F# (and other keys) to your most frequent usage patterns, whether it is for specific applications or OS-wide control such as window/workspace management like I have mine configured. If brightness, volume, play/pause/next/prev is what you use most often, then map it as such.

After a while, muscle memory kicks in and it doesn't matter what the key originally was called - it all becomes just a particular finger configuration: twist your fingers in one way for function X, another way for function Y, and so on. Certainly much faster than grabbing the mouse...

Copper Bezel
March 8th, 2012, 12:18 AM
No, I get that, and as I said, I have some of them reassigned, anyway. I actually made F11 a global fullscreen (it already performs that function in many apps, but not all) and I have to admit that that's not an assignment likely to ship as a default. It's definitely good that they can be reconfigured. I just don't think media keys and hardware buttons are a bad default to have. (As opposed to something more arcane, as it were.)

TheoJava
March 8th, 2012, 06:09 PM
Ya know, maybe I will try this system out. Naturally, there's almost no way I could think of uses for all of the possible combos. What I like about the idea is that because there's so many f# keys (as opposed to only a few control keys crammed in the bottom left corner), it should allow me to have more breathing room to think of a logical series of general key-combo categories. For example- dedicating one of the f# keys to browser shortcuts.

juancarlospaco
March 8th, 2012, 06:47 PM
BTW a stand alone key for @ can fix +25% of support phone calls to help desk all around the world :)

BeRoot ReBoot
March 8th, 2012, 07:10 PM
Surely not, certainly on a notebook. No offense, but most of us use GUIs for window management.

Using a GUI doesn't mean you have to do everything with the mouse. I prefer to use the mouse as little as necessary, and I can imagine I'm not alone.