mirror of
https://github.com/ghostty-org/ghostty.git
synced 2026-04-18 21:40:29 +00:00
input: "ignore" binding action are still be processed by the OS/GUI
Related to #7468 This changes the behavior of "ignore". Previously, Ghostty would consider "ignore" actions consumed but do nothing. They were like a black hole. Now, Ghostty returns `ignored` which lets the apprt forward the event to the OS/GUI. This enables keys that would otherwise be pty-encoded to be processed later, such as for GTK to show the GTK inspector.
This commit is contained in:
@@ -222,13 +222,20 @@ pub fn lessThan(_: void, lhs: Binding, rhs: Binding) bool {
|
||||
|
||||
/// The set of actions that a keybinding can take.
|
||||
pub const Action = union(enum) {
|
||||
/// Ignore this key combination, don't send it to the child process, just
|
||||
/// black hole it.
|
||||
/// Ignore this key combination, don't send it to the child process,
|
||||
/// pretend that it never happened at the Ghostty level. The key
|
||||
/// combination may still be processed by the OS or other
|
||||
/// applications.
|
||||
ignore,
|
||||
|
||||
/// This action is used to flag that the binding should be removed from
|
||||
/// the set. This should never exist in an active set and `set.put` has an
|
||||
/// assertion to verify this.
|
||||
///
|
||||
/// This is only able to unbind bindings that were previously
|
||||
/// bound to Ghostty. This cannot unbind bindings that were not
|
||||
/// bound by Ghostty (e.g. bindings set by the OS or some other
|
||||
/// application).
|
||||
unbind,
|
||||
|
||||
/// Send a CSI sequence. The value should be the CSI sequence without the
|
||||
|
||||
Reference in New Issue
Block a user