4 ms·
Karabiner is a bloatware. I've spent some time to uninstall it completely. For a simple keyboard remapping I use built-in 'hidutil' command. https://developer.
by ris58h 4y ago
Karabiner is a bloatware. I've spent some time to uninstall it completely.
For a simple keyboard remapping I use built-in 'hidutil' command. https://developer.apple.com/library/archive/technotes/tn2450/_index.html https://developer.apple.com/library/archive/technotes/tn2450...
There is also https://hidutil-generator.netlify.app/ https://hidutil-generator.netlify.app/
- polyrand 4y agoTIL about 'hidutil', do you know if it can remap single key to a combination of keys? E.g: remap Caps Lock to "Ctrl + Option + CMD"
- ris58h 4y agoI'm not aware of such feature but I've found that there are other properties in hidutil configuration https://github.com/FSecureLABS/OSXFuzz/blob/600f28c1c4a1211cdc6af13f1550f093a8886f18/OSXFuzz/library_calls/iohidfamily https://github.com/FSecureLABS/OSXFuzz/blob/600f28c1c4a1211c.... "HIDKind", "HIDInterfaceID", "HIDSubinterfaceID", "HIDOriginalSubinterfaceID", "HIDParameters", "HIDVirtualDevice", "HIDKeyRepeat", "HIDInitialKeyMapping", "HIDKeyMapping", "HIDResetKeyboard", "HIDKeyboardModifierMappingPairs", "HIDKeyboardModifierMappingSrc", "HIDKeyboardModifierMappingDst", "HIDKeyboardCapsLockDoesLock", "HIDKeyboardSupportsF12Eject", "HIDKeyboardSupportedModifers", "HIDPointerResolution", "HIDPointerResetPointer", "HIDPointerConvertAbsolute", "HIDPointerContactToMove", "HIDPointerPressureToClick", "HIDPointerButtonMode", "HIDPointerButtonCount", "HIDPointerAcceleration", "HIDPointerAccelerationSettings", "HIDPointerAccelerationTable", "HIDScrollReset", "HIDScrollResolution", "HIDScrollReportRate", "HIDScrollAcceleration", "HIDScrollAccelerationType", "HIDScrollAccelerationTable", "HIDScrollResolutionX", "HIDScrollResolutionY", "HIDScrollResolutionZ", "HIDScrollAccelerationTableX", "HIDScrollAccelerationTableY", "HIDScrollAccelerationTableZ", "HIDScrollMouseButton", "HIDScrollZoomModiferMask", "HIDTrackpadAcceleration", "HIDMouseAcceleration", "HIDClickTime", "HIDClickSpace", "HIDWaitCursorFrameInterval", "HIDAutoDimThreshold", "HIDAutoDimState", "HIDAutoDimTime", "HIDIdleTime", "HIDBrightness", "HIDAutoDimBrightness", "HIDFkeyMode", "HIDStickyKeysDisabled", "HIDStickyKeysOn", "HIDStickyKeysShiftToggles", "HIDMouseKeysOptionToggles", "HIDSlowKeysDelay", "HIDF12EjectDelay", "HIDMouseKeysOn", "HIDUseKeyswitch", "HIDDisallowRemappingOfPrimaryClick", "HIDMouseKeysEnablesVirtualNumPad", "HIDResetLEDs", "HIDAccelCurves", "HIDTrackingAccelCurves", "HIDScrollAccelCurves", "HIDAccellCurvesDebug", "HIDScrollAccelCurvesDebug", "HIDAccelGainLinear", "HIDAccelGainParabolic", "HIDAccelGainCubic", "HIDAccelGainQuartic", "HIDAccelTangentSpeedLinear", "HIDAccelTangentSpeedParabolicRoot", "HIDAccelTangestSpeedCubicRoot", "HIDAccelTangentSpeedQuarticRoot", "HIDAccelIndex", "HIDScrollCountMaxTimeDeltaBetween", "HIDScrollCountMaxTimeDeltaToSustain", "HIDScrollCountMinDeltaToSustain", "HIDScrollCountIgnoreMomentumScrolls", "HIDScrollCountMouseCanReset", "HIDScrollCountMax", "HIDScrollCountAccelerationFactor", "HIDScrollCountZero", "HIDScrollCountBootDefault", "HIDScrollCountReset",
- mprime1 4y agoBroken link. https://github.com/FSecureLABS/OSXFuzz/blob/master/OSXFuzz/library_calls/iohidfamily.h https://github.com/FSecureLABS/OSXFuzz/blob/master/OSXFuzz/l...
- renewiltord 4y agoIs it possible to remove caps lock delay with this? I used built in remapper on Mac os to remap caps to esc and there was this massive delay. Unusable for vim. But with karabiner it prompts and removes the delay. Edit: can perhaps use https://github.com/gkpln3/CapsLockNoDelay https://github.com/gkpln3/CapsLockNoDelay
- ris58h 4y agoI use caps to escape too but I don't see any delay. I don't use vim BTW.
- mthoms 4y agoIncredible that I'm only learning about hidutil today... thank you. To your knowledge, is there any cli way to assign key combinations to menu items as seen in system preferences -> keyboard shortcuts?
- alwaysbeconsing 4y agoThese are stored in the defaults system, by program, under `NSUserKeyEquivalents` For example if you have some set for Firefox, run $ defaults read org.mozilla.firefox NSUserKeyEquivalents The encoding for the modifier keys is given here: https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/EventOverview/TextDefaultsBindings/TextDefaultsBindings.html https://developer.apple.com/library/archive/documentation/Co...
- mthoms 4y agoThis is incredibly helpful, thank you.
- czottmann 4y agoWhile I understand it might be overengineering for your use cases, it isn't bloatware. Karabiner can do more than simple 1:1 key remapping. For example, my capslock key is now a hyperkey when pressed and ⌘T when tapped. If that is possible w/ hidutil, please let me know and I stand corrected. Let's get off the "I don't have a use for it, so it's useless/bad" train, please.