28

I'm using Apple Wireless keyboard and I'm slightly disappointed that Fn key and Ctrl key have that order. It's not convenient for me. How can I easily swap them?

Hennes
  • 65,804
  • 7
  • 115
  • 169

8 Answers8

10

Windows:

It can be done using SharpKeys 2.1.1:

SharpKeys is a utility that manages a Registry key that allows Windows to remap one key to any other key. Included in the application is a list of common keyboard keys and a Type Key feature to automatically recognize most keyboard keys.

  • What you can do:

    Map an entire key to any other key - e.g. you could remap Caps Lock to a Shift key

  • What you can't do:

    Allow you to swap two keys with each other - e.g. you can’t have Q and Z swap places because the remapping code would get confused


Mac OS X

It can be done using DoubleCommand:

DoubleCommand is software for Mac OS X (a kernel extension) that lets you remap keys, in other words change the way your keyboard works. Often used to make a PC keyboard more comfortable with a Mac, swapping the Alt (Option) and Windows (Command or Apple) keys, since they are in swapped positions on Mac and PC keyboards. DoubleCommand is a quick and easy way to fix this if you use a PC keyboard with your Mac.


Related reading:

I've found the MacBook Pro Keyboard - How to Swap / Remap Keys? to contain useful information on this subject.

Zuul
  • 3,815
6

Alas, this most probably won't work. With the exception of exchanging the bluetooth keyboard's firmware or rewire the harddware buttons.

Reason: The Fn key is a modifier for the generated scancodes. This key is a modifier at the hardware level. A fn keypress cannot be seen even (using 'xev' on my Apple bluetooth keyboard under linux)

EDIT: A quick test shows it might be possible (using showkey on a real tty):
Fn has keycode 464
Ctrl has keycode 29

ce4
  • 933
4

Under Windows, installation of the following driver allows to easily swap Ctrl and Fn.

https://github.com/samartzidis/WinAppleKey

In addition to that, cmd/win and alt can be swapped too and some Fn+Key combinations from the Mac layout are installed:

  • Ctrl -> Fn (configurable at installation)
  • Fn -> Ctrl (configurable at installation)
  • Left/Right Alt -> Left/Right Windows (configurable at installation)
  • Left/Right Windows -> Left/Right Alt (configurable at installation)
  • Eject -> Delete
  • Fn + Backspace -> Delete
  • Fn + Enter -> Insert
  • Fn + F3 -> (App) My Computer
  • Fn + F4 -> (App) Calculator
  • Fn + F5 -> Pause/Break
  • Fn + F6 -> Print Screen
  • Fn + F7 -> previous track
  • Fn + F8 -> play/pause
  • Fn + F9 -> next track
  • Fn + F10 -> mute
  • Fn + F11 -> volume down
  • Fn + F12 -> volume up
  • Fn + Up -> Page Up
  • Fn + Down -> Page Down
  • Fn + Left -> Home
  • Fn + Right -> End
Samuel
  • 131
fabern
  • 141
4

For versions up to (and including) 10.11, you can swap the keys with Karabiner (formerly KeyRemap4MacBook), while DoubleCommand can only turn your fn key into a control key.

For versions 10.12+, you'll want to use Karabiner-Elements, a complete rewrite of Karabiner, that is still catching up to the function available in Karabiner. The features that it supports are still in flux.

iconoclast
  • 3,449
2

When you are using Linux I think it should be possible, too. At least when you have access to your system and you can recompile your kernel. Check this out Linux: Apple Wireless A1314 Fn key not registered, looks like software bug.

Exocom
  • 129
2

(Addition to Zuuls answer)

Linux

I have tried modifying the kernel module for Apple Keyboards here . If you have Linux kernel version 3.13 (or close), it should be easy to load it.

I have no experience writing kernel modules, so some of the code may not work as expected. As far as I know, it works on my keyboard :)

Janman
  • 201
0

I have built a little open source project for this: Bluetooth HID Hub. It runs on Raspberry Pi Zero W (~$10/£10).

It is similar to RaspiKey, but:

  • Supports not only a keyboard, but a mouse as well, both wired or wireless
  • Does not require wire connection to your computer
  • Supports connection to multiple computers (work on 2+ machines with the same keyboard
  • Python based, so really easy to extend with your custom remappings or any other device specific logic
0

Here is the tool that can help you sharpkeys for fn and control, and for other short cuts you can use power toys. here is a video on how to do it : youtube: fn remap

Rizerzero
  • 101