2

So there's probably some app that's responsible for this, but I'm not sure how to find it.

I press Esc in:

  • Karabiner-events: it echoes 'escape' as it should

  • according to OS X keyboard-viewer Esc is never pressed.

But fnEsc does work (also in OS X keyboard-viewer).

I have no clue where to look for. I saw this thread but I already disabled Siri and Speech and rebooted.

Where can I find more info how to deal with this?

I'm on the latest update of High Sierra 10.13.4.

Using an app called 'Key Codes', it logged:

  • pressing Esc : nothing

  • pressing fnEsc (first fn, than esc):

    Modifier Change
        Keys:       
        Key Code:       65535 / 0xffff
        Modifiers:      8388864 / 0x800100 ⓘ
    
    Key Down
        Characters: 
        Unicode:        27 / 0x1b
        Keys:           Escape
        Key Code:       53 / 0x35
        Modifiers:      8388864 / 0x800100 ⓘ
    
    Key Up
        Characters: 
        Unicode:        27 / 0x1b
        Keys:           Escape
        Key Code:       53 / 0x35
        Modifiers:      8388864 / 0x800100 ⓘ
    
    Modifier Change
        Keys:       
        Key Code:       65535 / 0xffff
        Modifiers:      256 / 0x100 ⓘ
    

In xev, when I press 'esc' nothing is echoed. But when I press fn+esc, I get the following output:

FocusIn event, serial 34, synthetic NO, window 0xa00001,
    mode NotifyNormal, detail NotifyNonlinear

KeymapNotify event, serial 34, synthetic NO, window 0x0,
    keys:  4294967201 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

PropertyNotify event, serial 34, synthetic NO, window 0xa00001,
    atom 0x101 (_NET_WM_STATE), time 979893442, state PropertyNewValue

KeyPress event, serial 34, synthetic NO, window 0xa00001,
    root 0x1a1, subw 0x0, time 979893799, (144,-11), root:(161,702),
    state 0x0, keycode 61 (keysym 0xff1b, Escape), same_screen YES,
    XLookupString gives 1 bytes: (1b) "
mbLookupString gives 1 bytes: (1b) "
FilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0xa00001,
    root 0x1a1, subw 0x0, time 979893895, (144,-11), root:(161,702),
    state 0x0, keycode 61 (keysym 0xff1b, Escape), same_screen YES,
    XLookupString gives 1 bytes: (1b) "
FilterEvent returns: False

For the full output of xmodmap -pk I uploaded it here. The most notable lines (I guess) is:

 61         0xff1b (Escape) 0x0000 (NoSymbol)       0xff1b (Escape)
 79         0xff1b (Escape) 0x0000 (NoSymbol)       0xff1b (Escape)
  • If Karabiner events sees "escape" as it should, it's sending the correct scan code, however, what you're getting for fn-Esc doesn't look right (Esc should be code 61). See this post for how to use xev (included with macOS) to obtain scan codes. Also try testing in Safe Mode – Allan Oct 2 '18 at 11:42
  • I am using Karabiner Elements which allegedly doesn't register FN. To make this even more mysterious: Key Codes on my MacbookAir returns for Escape (w or w/o FN) >>Keys: Escape / Key Code: 53/0x35 / Modifiers: 256/0x100<< EventViewer simply returns: >>0x29/escape<< and xev returns: >>keycode 61 (keysym 0xff1b, Escape)<< – clemsam lang Oct 2 '18 at 15:27
  • yeah I don't feel the problem is getting much clearer... – flowen Oct 3 '18 at 14:58
1

If you know that your keyboard has got the correct country identification and ISO/Ansi setting, you might try "xev" in Terminal app. After some moments it will open a small window left on top of your screen. Just press "esc" once, then any letter, next press "fn" and "esc". Last: Cmd-dot to stop the output. Depending on what your Terminal window tells you you might get some hint.

Another command in Terminal "xmodmap -pk" delivers a list of your keyboard's Keycodes and Keysym-values. Maybe there is s.th. unusual shown there. You might post relevant output here.

  • 1
    Thanks for the suggestion @clemsam_lang but neither xev or xmodmap come pre-installed in OSX. I looked it up and it seems a tool for ubuntu.. perhaps you know how to installed it in OSX? So I went looking for other alternatives. I found an app called 'Key Codes' and edited the post with the results – flowen Oct 2 '18 at 9:51
  • 1
    You will need to install an X11/X.Org server to get xev and xmodmap. This used to come bundled with OS X, but now you have to download and install it separately from xquartz.org. – calum_b Oct 2 '18 at 10:15
  • I added the results in the topic... but not sure what else to do with it – flowen Oct 3 '18 at 14:58
  • Actually I had quite a similar problem with a non-Apple keyboard whose Windows "context menu key" showed no reaction until I installed a special file "ApplePS2SmartTouchPad.kext" which down in its deepest recesses offered a setting "Make context menu key into key". There I assigned -quite randomly- key number "16" to it which Karabiner (EventViewer) now sees as "scan_previous_track" – and successfully remaps to any key I want. (There is a more advanced "VoodooPS2Controller.kext" that's mainly used in hackintosh devices; that one does not work with my older keyboard, though.) – clemsam lang Oct 4 '18 at 9:58
0

I still haven't found out WHY it's suddenly this way. But I found a solution. In karabiner-elements I bound escape to escape and this overwrote whatever happened before :) Should've thought of this earlier

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .