1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
fn main() {
    println!("Keyboard layouts");
    let layouts = xkb_data::keyboard_layouts().unwrap();
    let mut count = 0;
    for layout in layouts.layouts() {
        println!("  {}: {}", layout.name(), layout.description());
        if let Some(variants) = layout.variants() {
            for variant in variants {
                println!("    {}: {}", variant.name(), variant.description())
            }
        }
        count += 1;
    }

    println!("Total layouts without extra sources: {}", count);

    count = 0;
    let all_layouts = xkb_data::all_keyboard_layouts().unwrap();
    for layout in all_layouts.layouts() {
        println!("  {}: {}", layout.name(), layout.description());
        if let Some(variants) = layout.variants() {
            for variant in variants {
                println!("    {}: {}", variant.name(), variant.description())
            }
        }
        count += 1;
    }
    println!("Total layouts including extra sources: {}", count);
}