Comment on [Article] I Hate (Most) Keyboard ‘Fn’ Keys by spencer
I don't have a windows solution, but for MacOS I make heavy use of Karabiner Elements (karabiner-elements.pqrs.org). It intercepts incoming raw key codes and lets you map them (per keyboard) to other keys, commands, actions, etc. I currently use: • Map control, capslock, fn, windows, menu, etc onto Cmd/Opt/Ctrl consistently across Apple, IBM, and Microsoft keyboards • Reassign option-letter combos from useless things like ® to stuff I use more like €. • Use natural scrolling on an apple touch mouse and normal scrolling on scroll-wheel mouses • Debounce a stuck key on one keyboard • Trigger shell scripts
The one thing it doesn't let you reassign is the "system feature" keys on laptops (which share F-keys), which seem to be handled at a hardware level. However, macos makes it easy to make standard F-keys the defaults, so I haven't missed this feature.
The scrolling direction debate is interesting. Traditional scrolling mirrors the scroll bar's movement, which necessarily opposes the page movement. I still prefer traditional scrolling with a mouse wheel, but I suspect that those growing up with modern UIs that hide the scroll bar and emphasize touch screen support might prefer natural scrolling even with mouses.