Package Details: hid-apple-patched-git-dkms 20170406.61dce7d-1

Git Clone URL: (read-only)
Package Base: hid-apple-patched-git-dkms
Description: Allows to swap the Fn key and left Control key on Macbook Pro and Apple keyboards in GNU/Linux (DKMS)
Upstream URL:
Licenses: GPL2
Submitter: Aetf
Maintainer: Aetf
Last Packager: Aetf
Votes: 12
Popularity: 0.089670
First Submitted: 2017-04-17 15:14
Last Updated: 2017-04-17 15:14

Latest Comments

1 2 3 Next › Last »

ferres commented on 2018-02-16 08:33

Thanks, that worked for me

Aetf commented on 2018-02-16 03:31

Yes, simply uninstall the package and the system will revert to use original kernel module.

ferres commented on 2018-02-15 23:18

Hi, it can be an easy question, but is there an easy way to uninstall this package and revert all changes to keyboard settings? I'm configuring mac and tried if that fits me or not.

vadzim commented on 2018-01-28 16:18

Had to run sudo mkinitcpio -p linux414 in order to get it working permanently.

yubo56 commented on 2017-09-27 17:20

I'm getting that the `hid_apple_pclayout.conf` file doesn't work unless I put all the `options` on a single line, i.e.

options hid_apple fnmode=2 swap_fn_leftctrl=1 swap_opt_cmd=1 rightalt_as_rightctrl=1 ejectcd_as_delete=1

Anybody else see this? Not sure whether it's discussed somewhere, but if so, maybe the default conf file should be updated?

Edit: nvm, seems to be working fine now, not sure what happened

Aetf commented on 2017-04-17 15:04

I'll do the following to make the package DKMS-only:

1. update the current one to non-DKMS only, so the name is released
2. push the DKMS-only version under the name hid-apple-patched-git-dkms
3. file a merge request to merge the comments of the current one (hid-apple-patched-git) to hid-apple-patched-git-dkms.
4. add a pinned comment explaining the preference of DKMS version while the merge is not completed.


Now the merge is completed.

Aetf commented on 2017-04-17 14:58

I'm glad to know DKMS works for you. Personally I use the DKMS version, and the non-DKMS one was just there when I adopted this package. I'm also thinking about dropping the non-DKMS version as it's hard to maintain.

Regarding dkms.conf, those lines seem to be Ubuntu related. Finally if the one bundled in upstream repo is usable [1], I'll use that one.

Enabling PC-like layout makes sense.


adfjjv commented on 2017-04-17 12:13

Also, the line `MAKE="make LINUX_HEADER_DIR=/usr/src/linux-headers-${kernelver}"` in dkms.conf seems to not be necessary. I guess it is set by DKMS automatically.

adfjjv commented on 2017-04-17 11:46

As far as I can tell, `linux-lts-headers` does not provide `linux-headers` either. As an example, package 'dkms' depends on all the header variants. The path `/usr/lib/modules/extramodules-4.9-` does not exist on my system, but `/usr/lib/extramodules-4.9.22-grsec/` does.

Anyway, I had good success with just using DKMS. By using your line `DEST_MODULE_LOCATION='/extra'` and copying your `/etc/depmod.d/hid-apple.conf`, it works even more smoothly. I suggest to make this package DKMS-only. Is there a reason to not use dkms?

P.S. the lines `CONFIG_MODULE_COMPRESS=yes CONFIG_MODULE_COMPRESS_GZIP=yes` in dkms.conf have no effect and should probably be removed. (These properties are not described by `man dkms` and the resulting module was not compressed.)

P.P.S. I think you should enable the PC-like layout automatically, since that is the goal of almost everyone who is installing this package.

Aetf commented on 2017-04-16 21:51

Hi @adfjjv,

I'm not familiar with `linux-gresec-headers`, but AFAIK, other variants of linux kernel headers has `provides=(linux-headers=...)` in their PKGBUILD, I'm not sure why this isn't the case for `linux-gresec`

For the module path, I believe `/usr/lib/modules/extramodules-4.9-` is the correct path as it's used by various official packages. [1,2,3] are a few I've found after a quick search for "kernel module".

Regarding the usage of uname, I agree that there's possibility to break. If you have better solution I'm happy to adopt. I thought about `$(pacman -Q linux | sed -r 's#.* ([0-9]+\.[0-9]+).*#\1#')`, but I suppose won't work for non-stock kernels.

The DKMS version installs kernel module to `modules/kernel_release/extra`, which also seems common for misc modules. This is configured in dkms.conf.

The bundled conf is installed to `/etc/modprobe.d/hid_apple.conf.example`, which will be ignored by default according to `man modprobe.d`.