deserialize string or default to none for config.ron

Cleanup config.ron
This commit is contained in:
PixelDots 2023-10-02 13:03:40 -05:00
parent 805db26ac1
commit c60f7071bb
3 changed files with 72 additions and 78 deletions

View file

@ -89,7 +89,7 @@ pub struct KeyPattern {
#[serde(deserialize_with = "deserialize_KeyModifiers")]
pub modifiers: KeyModifiers,
/// The actual key, that was pressed
#[serde(deserialize_with = "deserialize_Keysym")]
#[serde(deserialize_with = "deserialize_Keysym", default)]
pub key: Option<u32>,
}

View file

@ -62,12 +62,7 @@ where
{
use serde::de::{Error, Unexpected};
let name: Option<String> = Option::deserialize(deserializer)?;
if name.is_none() {
return Ok(None);
}
let name = name.unwrap();
let name = String::deserialize(deserializer)?;
//let name = format!("KEY_{}", code);
match xkb::keysym_from_name(&name, xkb::KEYSYM_NO_FLAGS) {
KeySyms::KEY_NoSymbol => match xkb::keysym_from_name(&name, xkb::KEYSYM_CASE_INSENSITIVE) {