Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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 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
Owner

@tekezo tekezo commented Jun 14, 2016

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

@notjosh
Copy link

@notjosh 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 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
Owner

@tekezo 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 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 (notifications@github.com(mailto:notifications@github.com)) 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

@ariporad ariporad commented Jun 19, 2016

Thanks so much @tekezo!

@BjornMulder
Copy link

@BjornMulder BjornMulder commented Jun 22, 2016

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
Owner

@tekezo 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

@BjornMulder BjornMulder commented Jun 23, 2016

@tekezo
Alright, thanks for the response.

@comex
Copy link

@comex 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 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 kennonb commented Jul 3, 2016

@BjornMulder If you're wanting to just re-map to ESC, you could use Keyboard Maestro. Ex. http://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 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 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

@BrendanThompson BrendanThompson commented Jul 17, 2016

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

@paul-howard
Copy link

@paul-howard 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

@LoMiLiMiT LoMiLiMiT commented Aug 2, 2016

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

@mistadikay
Copy link

@mistadikay mistadikay commented Aug 3, 2016

@LoMiLiMiT worked like a charm. Thanks a ton!

@nhynes
Copy link

@nhynes 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 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 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

@nklmilojevic nklmilojevic commented Sep 11, 2016

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

@wxmtech
Copy link

@wxmtech wxmtech 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ć notifications@github.com
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

@nklmilojevic nklmilojevic commented Sep 11, 2016

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

@asethwright
Copy link

@asethwright asethwright commented Sep 15, 2016

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.

@wxmtech
Copy link

@wxmtech wxmtech 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 notifications@github.com 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 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?

@wxmtech
Copy link

@wxmtech wxmtech commented Sep 16, 2016

no comma after “fn”?

On Sep 16, 2016, at 14:13, Vinny notifications@github.com 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 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 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 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

@nklmilojevic nklmilojevic commented Oct 19, 2016

@sprig

Can you share your Hammerspoon config?

Thanks

@sprig
Copy link

@sprig sprig commented Oct 21, 2016

@mitchellnemitz
Copy link

@mitchellnemitz 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 nhooyr commented Oct 25, 2016

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

@danielcompton
Copy link

@danielcompton danielcompton commented Oct 25, 2016

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 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.

@steakknife
Copy link

@steakknife steakknife 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

@wxmtech
Copy link

@wxmtech wxmtech 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 notifications@github.com 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.

@steakknife
Copy link

@steakknife steakknife commented Oct 26, 2016

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 <
notifications@github.com> 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

@raddevon raddevon commented Oct 28, 2016

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 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 sprig commented Nov 6, 2016

@aa715 I answered your question.

@aa715
Copy link

@aa715 aa715 commented Nov 7, 2016

@sprig in hammerspoon ?

@sprig
Copy link

@sprig sprig commented Nov 7, 2016

@aa715 yes, Karabiner Elements + Hammerspoon

@arleym
Copy link

@arleym 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 aa715 commented Nov 10, 2016

@arleym thank you!! It's great!

@mcourteaux
Copy link

@mcourteaux 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 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

@mcourteaux mcourteaux commented Nov 13, 2016

@sprig: True, I fixed my post.

@mitchellnemitz
Copy link

@mitchellnemitz mitchellnemitz commented Mar 2, 2017

@lindsaymarkward
Copy link

@lindsaymarkward lindsaymarkward commented Mar 2, 2017

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

@quantumproducer quantumproducer commented Apr 22, 2017

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 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

@quantumproducer quantumproducer commented Apr 24, 2017

@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

@quantumproducer quantumproducer commented Apr 25, 2017

@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 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 marlonbernardes commented Feb 16, 2018

Since I was only using Seil/Karabiner to remap caps lock F19 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 join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
You can’t perform that action at this time.