Fix number-based mouse bindings

The toml migration introduced a regression which stopped numbered key
binding's from working. This patch implements the required number type
to make things work again.

Fixes #7527.
This commit is contained in:
Lars Francke 2024-01-02 06:55:02 +01:00 committed by GitHub
parent 659550ee34
commit 8f57367ead
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 0 deletions

View File

@ -21,6 +21,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Blurry window when using `window.dimensions` on some Wayland compositors
- IME input lagging behind on X11
- xdotool modifiers input not working correctly on X11
- Parsing numbers fails for mouse bindings
## 0.13.0

View File

@ -860,6 +860,16 @@ impl<'a> Deserialize<'a> for MouseButtonWrapper {
f.write_str("Left, Right, Middle, Back, Forward, or a number from 0 to 65536")
}
fn visit_i64<E>(self, value: i64) -> Result<MouseButtonWrapper, E>
where
E: de::Error,
{
match value {
0..=65536 => Ok(MouseButtonWrapper(MouseButton::Other(value as u16))),
_ => Err(E::invalid_value(Unexpected::Signed(value), &self)),
}
}
fn visit_u64<E>(self, value: u64) -> Result<MouseButtonWrapper, E>
where
E: de::Error,