Skip to content

Commit 8a6539c

Browse files
committed
Update Jis109 layout
1 parent 4339cdf commit 8a6539c

File tree

2 files changed

+266
-162
lines changed

2 files changed

+266
-162
lines changed

examples/print_keyboard.rs

Lines changed: 105 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ fn main() {
3232
println!("/// # FiSe105Key");
3333
println!("///");
3434
show_kb(&pc_keyboard::layouts::FiSe105Key);
35-
// println!("/// ****************************************");
36-
// println!("/// # Jis109Key");
37-
// println!("///");
38-
// show_kb(&pc_keyboard::layouts::Jis109Key);
35+
println!("/// ****************************************");
36+
println!("/// # Jis109Key");
37+
println!("///");
38+
show_kb(&pc_keyboard::layouts::Jis109Key);
3939
println!("/// ****************************************");
4040
println!("/// # No105Key");
4141
println!("///");
@@ -96,7 +96,6 @@ fn show_kb(layout: &dyn KeyboardLayout) {
9696
fn show_kb_modifiers(layout: &dyn KeyboardLayout, modifiers: &Modifiers) {
9797
let mut map = Map::new(modifiers);
9898
map.insert("esc", KeyCode::Escape, layout);
99-
map.insert("oem8", KeyCode::Oem8, layout);
10099
map.insert("key1", KeyCode::Key1, layout);
101100
map.insert("key2", KeyCode::Key2, layout);
102101
map.insert("key3", KeyCode::Key3, layout);
@@ -166,14 +165,18 @@ fn show_kb_modifiers(layout: &dyn KeyboardLayout, modifiers: &Modifiers) {
166165
map.insert("m", KeyCode::M, layout);
167166
match layout.get_physical() {
168167
pc_keyboard::PhysicalKeyboard::Iso => {
168+
map.insert("oem8", KeyCode::Oem8, layout);
169169
map.insert("oem5", KeyCode::Oem5, layout);
170170
map.print_iso();
171171
}
172172
pc_keyboard::PhysicalKeyboard::Ansi => {
173+
map.insert("oem8", KeyCode::Oem8, layout);
173174
map.print_ansi();
174175
}
175176
pc_keyboard::PhysicalKeyboard::Jis => {
176-
todo!()
177+
map.insert("oem12", KeyCode::Oem12, layout);
178+
map.insert("oem13", KeyCode::Oem13, layout);
179+
map.print_jis();
177180
}
178181
}
179182
}
@@ -401,6 +404,102 @@ impl Map {
401404
/// │ │ │ │ {sp} │ │ │ │ │ │ │ │ │ │{n0} │{np}│ │
402405
/// └─────┴─────┴─────┴──────────────────────────────┴─────┴─────┴──────┴──────┘ └────┴────┴────┘ └─────────┴────┴────┘
403406
/// ```
407+
///"#
408+
);
409+
}
410+
411+
fn print_jis(&self) {
412+
let es = self.get("esc");
413+
let k1 = self.get("key1");
414+
let k2 = self.get("key2");
415+
let k3 = self.get("key3");
416+
let k4 = self.get("key4");
417+
let k5 = self.get("key5");
418+
let k6 = self.get("key6");
419+
let k7 = self.get("key7");
420+
let k8 = self.get("key8");
421+
let k9 = self.get("key9");
422+
let k0 = self.get("key0");
423+
let om = self.get("oem_minus");
424+
let ol = self.get("oem_plus");
425+
let bs = self.get("backspace");
426+
let nd = self.get("numpad_divide");
427+
let nm = self.get("numpad_multiply");
428+
let ns = self.get("numpad_subtract");
429+
let tb = self.get("tab");
430+
let o4 = self.get("oem4");
431+
let o6 = self.get("oem6");
432+
let o7 = self.get("oem7");
433+
let de = self.get("delete");
434+
let n7 = self.get("numpad7");
435+
let n8 = self.get("numpad8");
436+
let n9 = self.get("numpad9");
437+
let nl = self.get("numpadl");
438+
let o1 = self.get("oem1");
439+
let o3 = self.get("oem3");
440+
let en = self.get("enter");
441+
let n4 = self.get("numpad4");
442+
let n5 = self.get("numpad5");
443+
let n6 = self.get("numpad6");
444+
let oc = self.get("oem_comma");
445+
let op = self.get("oem_period");
446+
let o2 = self.get("oem2");
447+
let n1 = self.get("numpad1");
448+
let n2 = self.get("numpad2");
449+
let n3 = self.get("numpad3");
450+
let ne = self.get("numpade");
451+
let sp = self.get("space");
452+
let n0 = self.get("numpad0");
453+
let np = self.get("numpad_period");
454+
let od = self.get("oem12");
455+
let oe = self.get("oem13");
456+
457+
let kq = self.get("q");
458+
let kw = self.get("w");
459+
let ke = self.get("e");
460+
let kr = self.get("r");
461+
let kt = self.get("t");
462+
let ky = self.get("y");
463+
let ku = self.get("u");
464+
let ki = self.get("i");
465+
let ko = self.get("o");
466+
let kp = self.get("p");
467+
let ka = self.get("a");
468+
let ks = self.get("s");
469+
let kd = self.get("d");
470+
let kf = self.get("f");
471+
let kg = self.get("g");
472+
let kh = self.get("h");
473+
let kj = self.get("j");
474+
let kk = self.get("k");
475+
let kl = self.get("l");
476+
let kz = self.get("z");
477+
let kx = self.get("x");
478+
let kc = self.get("c");
479+
let kv = self.get("v");
480+
let kb = self.get("b");
481+
let kn = self.get("n");
482+
let km = self.get("m");
483+
484+
println!(
485+
r#"///
486+
/// ```text
487+
/// ┌────┐ ┌────┬────┬────┬────┐ ┌────┬────┬────┬────┐ ┌────┬────┬────┬────┐ ┌────┬────┬────┐
488+
/// │{es}│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
489+
/// └────┘ └────┴────┴────┴────┘ └────┴────┴────┴────┘ └────┴────┴────┴────┘ └────┴────┴────┘
490+
///
491+
/// ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┐ ┌────┬────┬────┬────┐
492+
/// │ │{k1}│{k2}│{k3}│{k4}│{k5}│{k6}│{k7}│{k8}│{k9}│{k0}│{om}│{ol}│{oe}│{bs}│ │ │ │ │ │ │{nd}│{nm}│{ns}│
493+
/// ├────┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬────────┤ ├────┼────┼────┤ ├────┼────┼────┼────┤
494+
/// │{tb} │{kq}│{kw}│{ke}│{kr}│{kt}│{ky}│{ku}│{ki}│{ko}│{kp}│{o4}│{o6}│ {en} │ │{de}│ │ │ │{n7}│{n8}│{n9}│ │
495+
/// ├─────┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┐ │ └────┴────┴────┘ ├────┼────┼────┤{nl}│
496+
/// │ │{ka}│{ks}│{kd}│{kf}│{kg}│{kh}│{kj}│{kk}│{kl}│{o1}│{o3}│{o7}│ │ │{n4}│{n5}│{n6}│ │
497+
/// ├──────┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴────┼───────┤ ┌────┐ ├────┼────┼────┼────┤
498+
/// │ │{kz}│{kx}│{kc}│{kv}│{kb}│{kn}│{km}│{oc}│{op}│{o2}│{od} │ │ │ │ │{n1}│{n2}│{n3}│ │
499+
/// ├─────┬───┴─┬──┴──┬─┴───┬┴────┴────┴────┴────┴┬───┴─┬──┴──┬─┴──┬───┴┬──────┤ ┌────┼────┼────┐ ├────┴────┼────┤{ne}│
500+
/// │ │ │ │ │ {sp} │ │ │ │ │ │ │ │ │ │ │{n0} │{np}│ │
501+
/// └─────┴─────┴─────┴─────┴─────────────────────┴─────┴─────┴────┴────┴──────┘ └────┴────┴────┘ └─────────┴────┴────┘
502+
/// ```
404503
///"#
405504
);
406505
}

0 commit comments

Comments
 (0)