@@ -24,7 +24,7 @@ use super::page::Page;
24
24
use super :: picker:: Picker ;
25
25
26
26
pub struct Keyboard {
27
- pub ( crate ) daemon_opt : Option < Rc < dyn Daemon > > ,
27
+ pub ( crate ) daemon : Rc < dyn Daemon > ,
28
28
pub ( crate ) daemon_board : usize ,
29
29
pub ( crate ) keymap : HashMap < String , u16 > ,
30
30
pub ( crate ) keys : RefCell < Vec < Key > > ,
@@ -34,7 +34,7 @@ pub struct Keyboard {
34
34
}
35
35
36
36
impl Keyboard {
37
- pub fn new < P : AsRef < Path > > ( dir : P , daemon_opt : Option < Rc < dyn Daemon > > , daemon_board : usize ) -> Rc < Self > {
37
+ pub fn new < P : AsRef < Path > > ( dir : P , daemon : Rc < dyn Daemon > , daemon_board : usize ) -> Rc < Self > {
38
38
let dir = dir. as_ref ( ) ;
39
39
40
40
let keymap_csv = fs:: read_to_string ( dir. join ( "keymap.csv" ) )
@@ -43,24 +43,20 @@ impl Keyboard {
43
43
. expect ( "Failed to load layout.csv" ) ;
44
44
let physical_json = fs:: read_to_string ( dir. join ( "physical.json" ) )
45
45
. expect ( "Failed to load physical.json" ) ;
46
- Self :: new_data ( & keymap_csv, & layout_csv, & physical_json, daemon_opt , daemon_board)
46
+ Self :: new_data ( & keymap_csv, & layout_csv, & physical_json, daemon , daemon_board)
47
47
}
48
48
49
- fn new_layout ( layout : Layout , daemon_opt : Option < Rc < dyn Daemon > > , daemon_board : usize ) -> Rc < Self > {
49
+ fn new_layout ( layout : Layout , daemon : Rc < dyn Daemon > , daemon_board : usize ) -> Rc < Self > {
50
50
let mut keys = layout. keys ( ) ;
51
51
for key in keys. iter_mut ( ) {
52
52
for layer in 0 ..2 {
53
53
println ! ( " Layer {}" , layer) ;
54
- let scancode = if let Some ( ref daemon) = daemon_opt {
55
- match daemon. keymap_get ( daemon_board, layer, key. electrical . 0 , key. electrical . 1 ) {
56
- Ok ( value) => value,
57
- Err ( err) => {
58
- eprintln ! ( "Failed to read scancode: {:?}" , err) ;
59
- 0
60
- }
54
+ let scancode = match daemon. keymap_get ( daemon_board, layer, key. electrical . 0 , key. electrical . 1 ) {
55
+ Ok ( value) => value,
56
+ Err ( err) => {
57
+ eprintln ! ( "Failed to read scancode: {:?}" , err) ;
58
+ 0
61
59
}
62
- } else {
63
- 0
64
60
} ;
65
61
println ! ( " Scancode: {:04X}" , scancode) ;
66
62
@@ -75,7 +71,7 @@ impl Keyboard {
75
71
}
76
72
77
73
Rc :: new ( Self {
78
- daemon_opt ,
74
+ daemon ,
79
75
daemon_board,
80
76
keymap : layout. keymap ,
81
77
keys : RefCell :: new ( keys) ,
@@ -85,15 +81,15 @@ impl Keyboard {
85
81
} )
86
82
}
87
83
88
- pub fn new_board ( board : & str , daemon_opt : Option < Rc < dyn Daemon > > , daemon_board : usize ) -> Option < Rc < Self > > {
84
+ pub fn new_board ( board : & str , daemon : Rc < dyn Daemon > , daemon_board : usize ) -> Option < Rc < Self > > {
89
85
Layout :: from_board ( board) . map ( |layout|
90
- Self :: new_layout ( layout, daemon_opt , daemon_board)
86
+ Self :: new_layout ( layout, daemon , daemon_board)
91
87
)
92
88
}
93
89
94
- fn new_data ( keymap_csv : & str , layout_csv : & str , physical_json : & str , daemon_opt : Option < Rc < dyn Daemon > > , daemon_board : usize ) -> Rc < Self > {
90
+ fn new_data ( keymap_csv : & str , layout_csv : & str , physical_json : & str , daemon : Rc < dyn Daemon > , daemon_board : usize ) -> Rc < Self > {
95
91
let layout = Layout :: from_data ( keymap_csv, layout_csv, physical_json) ;
96
- Self :: new_layout ( layout, daemon_opt , daemon_board)
92
+ Self :: new_layout ( layout, daemon , daemon_board)
97
93
}
98
94
99
95
pub fn layer ( & self ) -> usize {
@@ -141,16 +137,12 @@ impl Keyboard {
141
137
..set_halign( gtk:: Align :: Start ) ;
142
138
} ;
143
139
144
- let max_brightness = if let Some ( ref daemon) = self . daemon_opt {
145
- match daemon. max_brightness ( self . daemon_board ) {
146
- Ok ( value) => value as f64 ,
147
- Err ( err) => {
148
- eprintln ! ( "{}" , err) ;
149
- 100.0
150
- }
140
+ let max_brightness = match self . daemon . max_brightness ( self . daemon_board ) {
141
+ Ok ( value) => value as f64 ,
142
+ Err ( err) => {
143
+ eprintln ! ( "{}" , err) ;
144
+ 100.0
151
145
}
152
- } else {
153
- 100.0
154
146
} ;
155
147
156
148
let brightness_scale = cascade ! {
@@ -161,10 +153,8 @@ impl Keyboard {
161
153
let kb = self . clone ( ) ;
162
154
brightness_scale. connect_value_changed ( move |this| {
163
155
let value = this. get_value ( ) as i32 ;
164
- if let Some ( ref daemon) = kb. daemon_opt {
165
- if let Err ( err) = daemon. set_brightness ( kb. daemon_board , value) {
166
- eprintln ! ( "{}" , err) ;
167
- }
156
+ if let Err ( err) = kb. daemon . set_brightness ( kb. daemon_board , value) {
157
+ eprintln ! ( "{}" , err) ;
168
158
}
169
159
println ! ( "{}" , value) ;
170
160
@@ -175,12 +165,7 @@ impl Keyboard {
175
165
..set_halign( gtk:: Align :: Start ) ;
176
166
} ;
177
167
178
- let color_keyboard = if let Some ( ref daemon) = self . daemon_opt {
179
- ColorKeyboard :: new_daemon ( daemon. clone ( ) , self . daemon_board )
180
- } else {
181
-
182
- ColorKeyboard :: new_dummy ( )
183
- } ;
168
+ let color_keyboard = ColorKeyboard :: new_daemon ( self . daemon . clone ( ) , self . daemon_board ) ;
184
169
let color_button = KeyboardColorButton :: new ( color_keyboard) ;
185
170
color_button. set_valign ( gtk:: Align :: Center ) ;
186
171
0 commit comments