layouts/
layouts.rs

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