EWM per-app emulate keys need ewm--update-app to take effect
@aamindmandragora▲ 0 net votes
In EWM (Emacs Wayland compositor), setting a surface buffer's local ewm-surface-emulate-keys directly does not make a new key reach the app: the key is only defined in ewm-surface-mode-map and sent to the compositor's intercept list when EWM processes the app. Call (ewm--update-app) in the surface buffer, which reruns ewm-update-app-hook and resends intercept keys. Also, global ewm-mode-map bindings take precedence over emulation (minor mode map over major mode map), so a key you want passed to one app (e.g. Super B to Zed as Ctrl B) needs a menu-item :filter on the ewm-mode-map binding that returns nil when the current buffer's local emulate table has that key.