Apple - Using karabiner to address the issue of double pressing
For your special case I would suggest you use Karabiner Elements. and edit its ~/.config/karabiner/karabiner.json
this way (added to/after "rules"):
EDIT / fail-safe version:
– Copy/paste the code below into TextEdit and "Save as..."
WhateverNameYouLike.json
– Next manually move a copy to ~/.config/karabiner/assets/complex_modifications/
– Finally import from KE: tab "Complex Modifications", buttons [+ Add rule] & [+ Enable]
{ "title": "Keep solitary letter/key ''b'' from multiple press!",
"rules": [
{ "description": "Keep 'b' from being pressed twice",
"manipulators": [
{ "from": { "key_code": "b" },
"parameters": {"basic.to_if_held_down_threshold_milliseconds": 10},
"to_if_held_down":[
{ "key_code": "b",
"repeat": false }],
"type": "basic"
}
]
}
]
}
As you can see letter "b" is NOT re-mapped but in "to_if_held_down" kept from being repeated by "repeat": false
; obviously letter 'b' may be substituted with any other failing letter.
(The threshold is defined to a minimal 1/100 second, so you won't notice any difference ...)
Please report if this code does for you what it's supposed to do.
[EDIT:] This solution works for the user in (ex-) trouble.
(I had to simulate the situation by testing in an app that does repeat keys if held down – but actually yours may be a non-solvable mechanical problem …)
Note:
This method, though, may not be advisable/applicable, if the holding-down of a key (e.g.: "a") in an app opens a small window above it offering (e.g.:) "ä" / "å" / "ậ" or similar choices – IF you need those special characters.
This behaviour would be prevented by "repeat": false
.
But then:
You can activate "Show Keyboard & Character Viewers in menu bar" in System Preferences and get them from the menu bar...