@@ -22,9 +22,8 @@ pub struct KeyboardInner {
22
22
action_group : DerefCell < gio:: SimpleActionGroup > ,
23
23
board : DerefCell < DaemonBoard > ,
24
24
board_name : DerefCell < String > ,
25
- default_layout : DerefCell < KeyMap > ,
26
- keymap : DerefCell < HashMap < String , u16 > > ,
27
25
keys : DerefCell < Rc < [ Key ] > > ,
26
+ layout : DerefCell < Layout > ,
28
27
page : Cell < Page > ,
29
28
picker : RefCell < WeakRef < Picker > > ,
30
29
selected : Cell < Option < usize > > ,
@@ -251,8 +250,7 @@ impl Keyboard {
251
250
keyboard. inner ( ) . keys . set ( keys. into_boxed_slice ( ) . into ( ) ) ;
252
251
keyboard. inner ( ) . board . set ( board) ;
253
252
keyboard. inner ( ) . board_name . set ( board_name. to_string ( ) ) ;
254
- keyboard. inner ( ) . keymap . set ( layout. keymap ) ;
255
- keyboard. inner ( ) . default_layout . set ( layout. default ) ;
253
+ keyboard. inner ( ) . layout . set ( layout) ;
256
254
257
255
let color_button = KeyboardColorButton :: new ( keyboard. board ( ) . clone ( ) ) ;
258
256
keyboard. inner ( ) . color_button_bin . add ( & color_button) ;
@@ -324,12 +322,8 @@ impl Keyboard {
324
322
}
325
323
}
326
324
327
- fn keymap ( & self ) -> & HashMap < String , u16 > {
328
- & self . inner ( ) . keymap
329
- }
330
-
331
- fn default_layout ( & self ) -> & KeyMap {
332
- & self . inner ( ) . default_layout
325
+ fn layout ( & self ) -> & Layout {
326
+ & self . inner ( ) . layout
333
327
}
334
328
335
329
fn window ( & self ) -> Option < gtk:: Window > {
@@ -353,7 +347,7 @@ impl Keyboard {
353
347
}
354
348
355
349
pub fn has_scancode ( & self , scancode_name : & str ) -> bool {
356
- self . keymap ( ) . contains_key ( scancode_name)
350
+ self . layout ( ) . keymap . contains_key ( scancode_name)
357
351
}
358
352
359
353
pub fn keys ( & self ) -> & Rc < [ Key ] > {
@@ -363,7 +357,7 @@ impl Keyboard {
363
357
pub fn keymap_set ( & self , key_index : usize , layer : usize , scancode_name : & str ) {
364
358
let k = & self . keys ( ) [ key_index] ;
365
359
let mut found = false ;
366
- if let Some ( scancode) = self . keymap ( ) . get ( scancode_name) {
360
+ if let Some ( scancode) = self . layout ( ) . keymap . get ( scancode_name) {
367
361
k. scancodes . borrow_mut ( ) [ layer] = ( * scancode, scancode_name. to_string ( ) ) ;
368
362
found = true ;
369
363
}
@@ -493,7 +487,7 @@ impl Keyboard {
493
487
}
494
488
495
489
fn reset ( & self ) {
496
- self . import_keymap ( self . default_layout ( ) ) ;
490
+ self . import_keymap ( & self . layout ( ) . default ) ;
497
491
}
498
492
499
493
fn add_pages ( & self ) {
0 commit comments