Skip to content
This repository has been archived by the owner on Apr 25, 2024. It is now read-only.

Seil doesn't load under 10.12 #68

Open
neilio opened this issue Jun 13, 2016 · 104 comments
Open

Seil doesn't load under 10.12 #68

neilio opened this issue Jun 13, 2016 · 104 comments

Comments

@neilio
Copy link

neilio commented Jun 13, 2016

I know this was released today, but Seil doesn't load its kernel extension under 10.12. I can't seem to get the kext to load manually as with previous updates - is there way to work around this issue for now?

@neilio neilio changed the title Neil doesn't load under 10.12 Seil doesn't load under 10.12 Jun 13, 2016
@tekezo
Copy link
Member

tekezo commented Jun 14, 2016

I'll confirm this issue.
Please wait for a while.

@notjosh
Copy link

notjosh commented Jun 14, 2016

If it helps you, I've done a little digging. tl;dr is kext loads fine, but doesn't do anything for me (I remap caps).

$ sudo kextload /Library/Application\ Support/org.pqrs/Seil/Seil.10.11.signed.kext
$ kextstat | grep -v com.apple
Index Refs Address            Size       Wired      Name (Version) UUID <Linked Against>
  140    0 0xffffff7f834d4000 0x2000     0x2000     com.nvidia.CUDA (1.1.0) 5AFE550D-6361-3897-912D-897C13FF6983 <4 1>
  146    0 0xffffff7f82b0d000 0x6000     0x6000     org.pqrs.driver.Seil (12.1.0) 9420A514-D737-3FA6-B008-CDEA735BC820 <32 5 4 3 1>

For future reference, this is on DP 1:

$ system_profiler SPSoftwareDataType
Software:

    System Software Overview:

      System Version: OS X 10.12 (16A201w)
      Kernel Version: Darwin 16.0.0
      ...

@notjosh
Copy link

notjosh commented Jun 14, 2016

Also fwiw, seems like it's hanging onto something and refusing to terminate/unload:

$ sudo kextunload /Library/Application\ Support/org.pqrs/Seil/Seil.10.11.signed.kext
(kernel) Can't unload kext org.pqrs.driver.Seil; classes have instances:
(kernel)     Kext org.pqrs.driver.Seil class org_pqrs_driver_Seil has 1 instance.
Failed to unload org.pqrs.driver.Seil - (libkern/kext) kext is in use or retained (cannot unload).

I assume it used to terminate/unload just fine on 10.11 at least :)

It's too late at night for me to dig into this now, but I'll take a look tomorrow if you haven't had a chance!

@tekezo
Copy link
Member

tekezo commented Jun 18, 2016

macOS 10.12 changes of the generic keyboard and mouse drivers made a great impact on Karabiner and Seil.
We should make a large changes in Karabiner and Seil architecture.
There is not a workaround for this issue.

Please wait an update of Karabiner and Seil for macOS 10.12.
(It may take a long time.)

@bosr
Copy link

bosr commented Jun 18, 2016

Thank you tekezo for the analysis and the hard work.

Best regards!

On June 18, 2016 at 3:26:36 PM, Takayama Fumihiko ([email protected](mailto:[email protected])) wrote:

macOS 10.12 changes of the generic keyboard and mouse drivers made a great impact on Karabiner and Seil.
We should make a large changes in Karabiner and Seil architecture.
There is not a workaround for this issue.

Please wait an update of Karabiner and Seil for macOS 10.12.
(It may take a long time.)


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub(#68 (comment)), or mute the thread(https://github.com/notifications/unsubscribe/AB2NvLMMKgKvKlmPz0HdVtARFwvxQtwMks5qM_IMgaJpZM4I01Nb).

@ariporad
Copy link

Thanks so much @tekezo!

@BjornMulder
Copy link

Is there still no way to remap caps to esc without seil?
I really depend on this mapping..
(Yes I have done the googling)

@tekezo
Copy link
Member

tekezo commented Jun 23, 2016

@BjornMulder Unfortunately, I don't know another way. Please use OS X 10.11 for a while.

@BjornMulder
Copy link

@tekezo
Alright, thanks for the response.

@comex
Copy link

comex commented Jun 29, 2016

If anyone reading this is impatient like me, I found a hacky alternative way to map keys. This only works with AppleEmbeddedKeyboard, which is most/all of Apple's own keyboards (run ioreg | grep AppleEmbeddedKeyboard to see if you have one).

You need to have System Integrity Protection disabled. I think that's sufficient these days (used to require setting the kext-dev-mode boot argument but that doesn't seem to be used anymore, despite still showing up in kextcache's output).

Find the IOKit personality corresponding to your keyboard, which should be in either /System/Library/Extensions/AppleHIDKeyboard.kext/Contents/Info.plist or /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyEventDriver.kext/Contents/Info.plist. Identify the right one by comparing ProductID/VendorID to your keyboard's IDs, which you can find in the System Information app under USB (builtin keyboards) or Bluetooth (I think). You'll need to convert from hex to decimal.

You should see something like:

        <key>IOClass</key>
        <string>AppleEmbeddedKeyboard</string>
        [..more stuff..]
        <key>ProductID</key>
        <integer>601</integer>
        <key>VendorID</key>
        <integer>1452</integer>

Edit the file (you need sudo), and put in anywhere:

        <key>KeyboardUsageMap</key>
        <dict>
            <key>0x00070039</key>
            <integer>0x00070029</integer>
        </dict>

note: 7,0x39 and 7,0x29 are the HID usage codes for caps lock and escape, respectively; you can look these up. You can remap any keys; to remap multiple entries, repeat the two lines with 0x in them.

Make sure the file is owned by user root and group wheel. If you edited it from within sudo this should be the case, but if you copied the file or something it might not be; in that case run sudo chown root:wheel /whatever/path/to/Info.plist.

Run sudo touch /System/Library/Extensions && sudo kextcache -update-volume /. You should see something like this (depending on which kext you modified):

kext-dev-mode allowing invalid signature -67030 0xFFFFFFFFFFFEFA2A for kext AppleUSBTCKeyEventDriver.kext
kext-dev-mode allowing invalid signature -67030 0xFFFFFFFFFFFEFA2A for kext AppleUSBTopCase.kext

And reboot. If it worked, your mappings should be in effect. If it didn’t work, it’s probably because it decided not to load the driver (in which case it uses the generic HID keyboard driver and your function keys will be broken); you can try doing the touch/kextcache/reboot sequence again.

You'll have to redo this if you update the OS.

@zeux
Copy link

zeux commented Jun 29, 2016

@comex Thank you! Just want to confirm this works as written with SIP disabled and without any other actions required. To bind CapsLock via a shortcut, I remapped it to F13 (0x00070068) so that it's recognized as a valid key. FWIW on my MacBook the internal keyboard has a ProductID of 610 and is located in AppleUSBTopCase.kext, but I imagine this may be different between different models.

@kennonb
Copy link

kennonb commented Jul 3, 2016

@BjornMulder If you're wanting to just re-map to ESC, you could use Keyboard Maestro. Ex. https://dsh.re/b3cd6

However, doing more of the complex setup of using it primarily as a ~F19 key and then remapping that to CMD+CTRL+SHIFT+OPT isn't possible with Keyboard Maestro. At least not that I've been able to achieve.

@vmax77
Copy link

vmax77 commented Jul 4, 2016

@kennonb Does Keyboard Maestro work with Sierra then? And just to be clear, if I want to use remap Caps as F19 and use as my Alfred toggle - Keyboard Maestro would do the trick?

@kennonb
Copy link

kennonb commented Jul 5, 2016

You won't be able to remap the key in that fashion unfortunately. At least not in a way that's really responsive. You could use AppleScript to try and pass key shortcuts back to Keyboard Maestro, but I found it to cause too much of a delay in processing, so I abandoned that idea.

@BrendanThompson
Copy link

@tekezo any updates on an ETA for even a bleeding edge version of Seil :)

@paul-howard
Copy link

paul-howard commented Jul 30, 2016

For any fellow Sierra beta-testers looking to emulate the Seil/Karabiner "F19" trick to remap their CapsLock key to a vim-friendly "press-for-ctrl/tap-for-escape" configuration (as outlined nicely by @brendonrapp here), I was able to accomplish this by simply remapping CapsLock to Ctrl in System Prefs > Keyboard > Keyboard > Modifier Keys, then applying @kennonb's Keyboard Maestro example. (Thanks, @kennonb!)

I'll still be waiting with bated breath for a Sierra-compatible version of Karabiner though, so I can get my universal Vi Mode back!

@LoMiLiMiT
Copy link

@vmax77 @paul-howard This is my workaround atm with keyboard maestro: https://imgur.com/a/DhOzr
It works pretty good :) You can easily choose F19 or other F keys.

@mistadikay
Copy link

@LoMiLiMiT worked like a charm. Thanks a ton!

@nhynes
Copy link

nhynes commented Aug 4, 2016

Here's a quick python script that makes the changes as described by @comex.

Note that you will probably have to twiddle the xpath syntax a bit since I have only tested it on my own setup (macOS w/ SPI keyboard).

@priezz
Copy link

priezz commented Aug 18, 2016

Here https://stackoverflow.com/a/16125341 are the keycodes, that can be used with comex's approach.

@sprig
Copy link

sprig commented Sep 3, 2016

Does anyone know how to get the product IDs for @comex's approach on a macbook (late 2015)?

The built in keyboard doesn't show up under USB, nor does the microsoft sculpt keyboard. The latter shows up as "Wireless Transceiver" (and the dongle indeed is connected to a mouse as well).

Thanks in advance!

@nklmilojevic
Copy link

Has anyone been able to simulate ctrl+alt+cmd+shift (hyper) in Sierra? I updated today and I used in combination with BetterTouchTool to launch programs with capslock and a letter (for example Capslock + S for Spotify).

Does anyone have idea how to achieve that while I'm waiting for new versions of Seil and Karabiner?

Thanks

@xmwa
Copy link

xmwa commented Sep 11, 2016

App ain't working, and may take more time than it seems to be, so you know.

On Sunday, September 11, 2016, Nikola Milojević [email protected]
wrote:

Has anyone been able to simulate ctrl+alt+cmd+shift (hyper) in Sierra? I
updated today and I used in combination with BetterTouchTool to launch
programs with capslock and a letter (for example Capslock + S for Spotify).

Does anyone have idea how to achieve that while I'm waiting for new
versions of Seil and Karabiner?

Thanks


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#68 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADKNgn9w2tsOZR4KvYqZpLCdLm0Ey1itks5qo-jEgaJpZM4I01Nb
.

@nklmilojevic
Copy link

Yeah, I know that, but I found some kind of a workaround with Keyboard Maestro and recording the keysequence in BTT.

@asethwright
Copy link

Karabiner Elements now has a build that is working for me fine on OSX 10.12. There is not a preferences pane yet so you have to modify the key via json config file. @tekezo has provided quick examples for typical mappings here.

@xmwa
Copy link

xmwa commented Sep 16, 2016

Incredible, working on karabiner-elements, anything that we could do to simulate two keys when pressing one key? I did not see an example like that.

On Sep 16, 2016, at 02:43, Seth Wright [email protected] wrote:

Karabiner Elements https://github.com/tekezo/Karabiner-Elements now has a build that is working for me fine on OSX 10.12. There is not a preferences pane yet so you have to modify the key via json config file. @tekezo https://github.com/tekezo has provided quick examples for typical mappings here https://github.com/tekezo/Karabiner-Elements/blob/master/usage/README.md.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub #68 (comment), or mute the thread https://github.com/notifications/unsubscribe-auth/ADKNgotVkaBcfZc2lmsmA1NWweC0Zx_2ks5qqZHCgaJpZM4I01Nb.

@vmax77
Copy link

vmax77 commented Sep 16, 2016

@asethwright Hey, I cant seem to get Caps Lock to trigger F19 key. This is the json file I tried to use https://github.com/vmax77/Karabiner-Elements/blob/master/examples/change_caps_lock_to_f19.json. Am I doing something wrong?

@xmwa
Copy link

xmwa commented Sep 16, 2016

no comma after “fn”?

On Sep 16, 2016, at 14:13, Vinny [email protected] wrote:

@asethwright https://github.com/asethwright Hey, I cant seem to get Caps Lock to trigger F19 key. This is the json file I tried to use https://github.com/vmax77/Karabiner-Elements/blob/master/examples/change_caps_lock_to_f19.json https://github.com/vmax77/Karabiner-Elements/blob/master/examples/change_caps_lock_to_f19.json. Am I doing something wrong?


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub #68 (comment), or mute the thread https://github.com/notifications/unsubscribe-auth/ADKNgu91E4klfJWKWmZZgoAJJOfT35FOks5qqjOcgaJpZM4I01Nb.

@sprig
Copy link

sprig commented Oct 9, 2016

@aa715 Karabiner also doesn't work in Sierra (AFAIK - otherwise most of this discussion would be pointless).

I found the most robust solution/workaround to be the hammerspoon hack that @arleym posted, as I used hammerspoon anyway. You can use it to launch programs, move (and resize) windows around, and even directly send the hyper combination - or anything else you feel like doing, really.
The only (slight, in my opinion) issue is that you can't keep the hyper key pressed and spam other combos - you need to release hyper after each (other) keypress (though even that can be overcome, I think - it just hasn't bothered me enough to be worth the effort).

@aa715
Copy link

aa715 commented Oct 9, 2016

@sprig sorry my english very bad( I haven't up to the end understood your answer

In hammerspoon it is impossible to make so that pressing of one key replaced pressing of combo keys?

@sprig
Copy link

sprig commented Oct 9, 2016

@aa715 possible:

e.g. you can have caps+a -> cmd+opt+ctrl+k
but unlike in Seil if you press caps+a and then caps+b, you need to release caps in between.

EDIT:

Actually, this discussion prompted me to look again at the config and improve it, so that you don't need to release in the middle at all.

So:
Karabiner-Elements+Hammerspoon can completely replicate (AFAIK) seil+Karabiner hyper key.

@nklmilojevic
Copy link

@sprig

Can you share your Hammerspoon config?

Thanks

@sprig
Copy link

sprig commented Oct 21, 2016

@nklmilojevic Enjoy!

@mitchellnemitz
Copy link

mitchellnemitz commented Oct 24, 2016

For anyone else who is getting this error on 10.11.6, you can manually run sudo kextload /Library/Application\ Support/org.pqrs/Seil/Seil.10.11.signed.kext and Seil will work again. I don't know why it's not loading properly on boot in 10.11 now, but at least it still works if you force it.

And of course, don't upgrade to Sierra just yet if you value Seil / Karabiner.

@nhooyr
Copy link

nhooyr commented Oct 25, 2016

@asethwright can you somehow remap escape to capslock as well?

@danielcompton
Copy link

macOS 10.12.1 is now out, and contains support for remapping Caps Lock to Esc:

screenshot of system preferences 26-10-16 10-09-26 am

@jammi
Copy link

jammi commented Oct 26, 2016

@danielcompton That's only because the upcoming MB(P) models don't have a physical Esc key anymore. They're replacing the entire row of keys with a touch area and fingerprint reader.

@skull-squadron
Copy link

skull-squadron commented Oct 26, 2016

@jammi Confirmed by pictures hidden in the 10.12.1 update at:

  /System/Library/PrivateFrameworks/PassKitUI.framework/Versions/A/Resources/

img

@xmwa
Copy link

xmwa commented Oct 26, 2016

/System/Library/PrivateFrameworks/PassKitUI.framework/Versions/A/Resources

Resource location on 10.12.1

On Oct 26, 2016, at 11:43, Barry Allard [email protected] wrote:

@jammi https://github.com/jammi Confirmed by pictures hidden in 10.12.1


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub #68 (comment), or mute the thread https://github.com/notifications/unsubscribe-auth/ADKNgkatws7RTOv2LkIDx0mzCiTQ0Bskks5q3sxKgaJpZM4I01Nb.

@skull-squadron
Copy link

That was a concept mock-up by a designer guessing into the ether, not
"leaked" subassemblies. Only a few tens of thousands of people actually
know and they're all under NDA.
On Tue, Oct 25, 2016 at 8:29 PM Juha-Jarmo Heinonen <
[email protected]> wrote:

@danielcompton https://github.com/danielcompton That's only because the
upcoming MB(P) models don't have a physical Esc key anymore. They're
replacing the entire row of keys with a touch area and fingerprint reader.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#68 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AANsMIZ6W3pDctYVKsHXzBFiTms02Wxrks5q3sk1gaJpZM4I01Nb
.

@raddevon
Copy link

For those of you looking to map caps lock to ctrl and esc on Sierra, I came across a Hammerspoon config that does a pretty good job. First, map caps lock to control in Keyboard preferences. Then, use this Hammerspoon config: https://gist.github.com/arbelt/b91e1f38a0880afb316dd5b5732759f1

@aa715
Copy link

aa715 commented Nov 6, 2016

Somebody will answer or not? Whether it is possible to remap caps-lock to ctrl+cmd+option+shift????

@sprig
Copy link

sprig commented Nov 6, 2016

@aa715 I answered your question.

@aa715
Copy link

aa715 commented Nov 7, 2016

@sprig in hammerspoon ?

@sprig
Copy link

sprig commented Nov 7, 2016

@aa715 yes, Karabiner Elements + Hammerspoon

@arleym
Copy link

arleym commented Nov 9, 2016

I was able to get Capslock = Hyper working with a specific PR of Karabiner Elements! I followed this: https://sayzlim.net/remapping-hyper-key-macos-sierra/

@aa715
Copy link

aa715 commented Nov 10, 2016

@arleym thank you!! It's great!

@mcourteaux
Copy link

mcourteaux commented Nov 13, 2016

For people looking to remap CapsLock to Escape: macOS finally has support for this natively. Just go to Keyboard preferences -> modifier keys, and set caps lock to escape.

@sprig
Copy link

sprig commented Nov 13, 2016

@mcourteaux you do realize that Seil is used for other things in addition remapping caps to escape?

@mcourteaux
Copy link

@sprig: True, I fixed my post.

@mitchellnemitz
Copy link

mitchellnemitz commented Mar 2, 2017 via email

@lindsaymarkward
Copy link

Oops, I deleted my question before I saw it had been answered.
Native does not give "delete" as an option, but Karabiner Elements works well, thank you. I looked at the start and end of these comments but missed it in the middle.

@quantumproducer
Copy link

Hello, Seil still does not let me remap capslock to backspace successfully. The box in Seil 12.0 is checked. I checked my keyboard modifier keys like the instructions said. I restarted my computer. "Cannot connect to kernel extension". :( I will switch to linux for my next computer..

@notjosh
Copy link

notjosh commented Apr 22, 2017

@quantumproducer I can definitely map caps to backspace, but (as explained in the thread!) it's by using https://github.com/tekezo/Karabiner-Elements under 10.12.x instead of Seil. Give that a shot! :)

@quantumproducer
Copy link

@notjosh I missed that, I didn't realize there was a new Elements out. It's been hard to tack with Seil, DoubleCommand and Karabiner. Thank you, this works, you are a hero!

@quantumproducer
Copy link

@notjosh since installing, I've noticed that I cannot adjust my control, alt + windows key on my Kineses frestyle keyboard. The modifier keys yin preferences seem to be ignored. I tried disabling the RControl, RCommand rebindings built into Seil (not sure why those are default), restated computer, I still cannot adjust the functionality.

@chingun
Copy link

chingun commented Aug 6, 2017

I have this problem too and I want to delete Seil now but I cannot open the preferences to do so, and when I try to delete it manually it says seil is being used. How do I delete this?

@marlonbernardes
Copy link

marlonbernardes commented Feb 16, 2018

Since I was only using Seil/Karabiner to remap caps lockF19 and F19 to Esc (when tapping) / Ctrl (holding) and this feature does not seem to be supported (as of this writing), this is what I ended up doing to achieve the same results without using Seil/Karabiner:

  1. close karabiner/seil if these apps are still running (optionally uninstall them)
  2. Execute the script below
# It assumes you have `homebrew` already installed.
mkdir -p ~/.hammerspoon/Spoons
git clone https://github.com/jasonrudolph/ControlEscape.spoon.git ~/.hammerspoon/Spoons/ControlEscape.spoon
cd ~/.hammerspoon/Spoons/ControlEscape.spoon
script/setup
  1. Give accessibility access to hammerspoon (Settings -> Security and Privacy -> Privacy tab)
    image

  2. This will change the behaviour of your Ctrl (so it sends Esc when tapped). Now all you gotta do is to remap your Caps Lock to Ctrl (Settings -> Keyboard -> modifier keys):

image

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests