Port to crate xkbcommon 0.7
Part-of: <https://gitlab.gnome.org/World/Phosh/squeekboard/-/merge_requests/656>
This commit is contained in:
		@ -30,11 +30,11 @@ maplit = "1.0.*"
 | 
			
		||||
serde = { version = "1.0.*", features = ["derive"] }
 | 
			
		||||
serde_yaml = "0.9.*"
 | 
			
		||||
bitflags = "1.3.*"
 | 
			
		||||
clap = { version = "4.4.*", features=["std"], default-features = false }
 | 
			
		||||
clap = { version = ">=4.4", features=["std"], default-features = false }
 | 
			
		||||
zbus = "1.9.*"
 | 
			
		||||
zvariant = "2.10.*"
 | 
			
		||||
zvariant_derive = "2.10.*"
 | 
			
		||||
xkbcommon = { version = "0.5.*", features = ["wayland"] }
 | 
			
		||||
xkbcommon = { version = "0.7.*", features = ["wayland"] }
 | 
			
		||||
 | 
			
		||||
[dependencies.cairo-rs]
 | 
			
		||||
version = "0.18.*"
 | 
			
		||||
 | 
			
		||||
@ -299,7 +299,7 @@ fn create_action<H: logging::Handler>(
 | 
			
		||||
        .unwrap_or(&default_meta);
 | 
			
		||||
 | 
			
		||||
    fn keysym_valid(name: &str) -> bool {
 | 
			
		||||
        xkb::keysym_from_name(name, xkb::KEYSYM_NO_FLAGS) != xkb::KEY_NoSymbol
 | 
			
		||||
        xkb::keysym_from_name(name, xkb::KEYSYM_NO_FLAGS).raw() != xkb::keysyms::KEY_NoSymbol
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    enum SubmitData {
 | 
			
		||||
 | 
			
		||||
@ -300,8 +300,8 @@ mod tests {
 | 
			
		||||
 | 
			
		||||
        let state = xkb::State::new(&keymap);
 | 
			
		||||
 | 
			
		||||
        assert_eq!(state.key_get_one_sym(9), xkb::KEY_a);
 | 
			
		||||
        assert_eq!(state.key_get_one_sym(10), xkb::KEY_c);
 | 
			
		||||
        assert_eq!(state.key_get_one_sym(9u32.into()), xkb::keysyms::KEY_a.into());
 | 
			
		||||
        assert_eq!(state.key_get_one_sym(10u32.into()), xkb::keysyms::KEY_c.into());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #[test]
 | 
			
		||||
@ -321,7 +321,7 @@ mod tests {
 | 
			
		||||
 | 
			
		||||
        let state = xkb::State::new(&keymap);
 | 
			
		||||
 | 
			
		||||
        assert_eq!(state.key_get_one_sym(9), xkb::KEY_a);
 | 
			
		||||
        assert_eq!(state.key_get_one_sym(9u32.into()), xkb::keysyms::KEY_a.into());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #[test]
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										10
									
								
								src/tests.rs
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								src/tests.rs
									
									
									
									
									
								
							@ -42,12 +42,12 @@ pub fn check_layout_file(path: &str) {
 | 
			
		||||
 | 
			
		||||
fn check_sym_in_keymap(state: &xkb::State, sym_name: &str) -> bool {
 | 
			
		||||
    let sym = xkb::keysym_from_name(sym_name, xkb::KEYSYM_NO_FLAGS);
 | 
			
		||||
    if sym == xkb::KEY_NoSymbol {
 | 
			
		||||
    if sym.raw() == xkb::keysyms::KEY_NoSymbol {
 | 
			
		||||
        panic!("Entered invalid keysym: {}", sym_name);
 | 
			
		||||
    }
 | 
			
		||||
    let map = state.get_keymap();
 | 
			
		||||
    let range = map.min_keycode()..=map.max_keycode();
 | 
			
		||||
    range.flat_map(|code| state.key_get_syms(code))
 | 
			
		||||
    let range = map.min_keycode().raw()..=map.max_keycode().raw();
 | 
			
		||||
    range.flat_map(|code| state.key_get_syms(code.into()))
 | 
			
		||||
        .find(|s| **s == sym)
 | 
			
		||||
        .is_some()
 | 
			
		||||
}
 | 
			
		||||
@ -110,8 +110,8 @@ fn check_layout(layout: Layout, allow_missing_return: bool) {
 | 
			
		||||
        for (_y, row) in view.get_rows() {
 | 
			
		||||
            for (_x, button) in row.get_buttons() {
 | 
			
		||||
                for keycode in &button.keycodes {
 | 
			
		||||
                    match xkb_states[keycode.keymap_idx].key_get_one_sym(keycode.code) {
 | 
			
		||||
                        xkb::KEY_NoSymbol => {
 | 
			
		||||
                    match xkb_states[keycode.keymap_idx].key_get_one_sym(keycode.code.into()).raw() {
 | 
			
		||||
                        xkb::keysyms::KEY_NoSymbol => {
 | 
			
		||||
                            eprintln!(
 | 
			
		||||
                                "keymap {}: {}",
 | 
			
		||||
                                keycode.keymap_idx,
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user