@@ -11,8 +11,8 @@ impl KeyboardLayout for Azerty {
11
11
let map_to_unicode = handle_ctrl == HandleControl :: MapLettersToUnicode ;
12
12
match keycode {
13
13
KeyCode :: Escape => DecodedKey :: Unicode ( 0x1B . into ( ) ) ,
14
- KeyCode :: BackTick => DecodedKey :: Unicode ( '²' ) ,
15
- KeyCode :: HashTilde => {
14
+ KeyCode :: Oem8 => DecodedKey :: Unicode ( '²' ) ,
15
+ KeyCode :: Oem5 => {
16
16
if modifiers. is_shifted ( ) {
17
17
DecodedKey :: Unicode ( '*' )
18
18
} else {
@@ -107,7 +107,7 @@ impl KeyboardLayout for Azerty {
107
107
DecodedKey :: Unicode ( 'à' )
108
108
}
109
109
}
110
- KeyCode :: Minus => {
110
+ KeyCode :: OemMinus => {
111
111
if modifiers. is_shifted ( ) {
112
112
DecodedKey :: Unicode ( '°' )
113
113
} else if modifiers. alt_gr {
@@ -116,7 +116,7 @@ impl KeyboardLayout for Azerty {
116
116
DecodedKey :: Unicode ( ')' )
117
117
}
118
118
}
119
- KeyCode :: Equals => {
119
+ KeyCode :: OemPlus => {
120
120
if modifiers. is_shifted ( ) {
121
121
DecodedKey :: Unicode ( '+' )
122
122
} else if modifiers. alt_gr {
@@ -217,7 +217,7 @@ impl KeyboardLayout for Azerty {
217
217
DecodedKey :: Unicode ( 'p' )
218
218
}
219
219
}
220
- KeyCode :: BracketSquareLeft => {
220
+ KeyCode :: Oem4 => {
221
221
if modifiers. is_shifted ( ) {
222
222
DecodedKey :: Unicode ( '¨' )
223
223
} else if modifiers. alt_gr {
@@ -226,7 +226,7 @@ impl KeyboardLayout for Azerty {
226
226
DecodedKey :: Unicode ( '^' )
227
227
}
228
228
}
229
- KeyCode :: BracketSquareRight => {
229
+ KeyCode :: Oem6 => {
230
230
if modifiers. is_shifted ( ) {
231
231
DecodedKey :: Unicode ( '£' )
232
232
} else if modifiers. alt_gr {
@@ -235,7 +235,7 @@ impl KeyboardLayout for Azerty {
235
235
DecodedKey :: Unicode ( '$' )
236
236
}
237
237
}
238
- KeyCode :: BackSlash => {
238
+ KeyCode :: Oem7 => {
239
239
if modifiers. is_shifted ( ) {
240
240
DecodedKey :: Unicode ( 'µ' )
241
241
} else {
@@ -323,7 +323,7 @@ impl KeyboardLayout for Azerty {
323
323
DecodedKey :: Unicode ( 'l' )
324
324
}
325
325
}
326
- KeyCode :: SemiColon => {
326
+ KeyCode :: Oem1 => {
327
327
if map_to_unicode && modifiers. is_ctrl ( ) {
328
328
DecodedKey :: Unicode ( '\u{000D}' )
329
329
} else if modifiers. is_caps ( ) {
@@ -332,15 +332,15 @@ impl KeyboardLayout for Azerty {
332
332
DecodedKey :: Unicode ( 'm' )
333
333
}
334
334
}
335
- KeyCode :: Quote => {
335
+ KeyCode :: Oem3 => {
336
336
if modifiers. is_shifted ( ) {
337
337
DecodedKey :: Unicode ( '%' )
338
338
} else {
339
339
DecodedKey :: Unicode ( 'ù' )
340
340
}
341
341
}
342
342
// Enter gives LF, not CRLF or CR
343
- KeyCode :: Enter => DecodedKey :: Unicode ( 10 . into ( ) ) ,
343
+ KeyCode :: Return => DecodedKey :: Unicode ( 10 . into ( ) ) ,
344
344
KeyCode :: Z => {
345
345
if map_to_unicode && modifiers. is_ctrl ( ) {
346
346
DecodedKey :: Unicode ( '\u{0017}' )
@@ -402,21 +402,21 @@ impl KeyboardLayout for Azerty {
402
402
DecodedKey :: Unicode ( ',' )
403
403
}
404
404
}
405
- KeyCode :: Comma => {
405
+ KeyCode :: OemComma => {
406
406
if modifiers. is_shifted ( ) {
407
407
DecodedKey :: Unicode ( '.' )
408
408
} else {
409
409
DecodedKey :: Unicode ( ';' )
410
410
}
411
411
}
412
- KeyCode :: Fullstop => {
412
+ KeyCode :: OemPeriod => {
413
413
if modifiers. is_shifted ( ) {
414
414
DecodedKey :: Unicode ( '/' )
415
415
} else {
416
416
DecodedKey :: Unicode ( ':' )
417
417
}
418
418
}
419
- KeyCode :: Slash => {
419
+ KeyCode :: Oem2 => {
420
420
if modifiers. is_shifted ( ) {
421
421
DecodedKey :: Unicode ( '§' )
422
422
} else {
@@ -425,9 +425,9 @@ impl KeyboardLayout for Azerty {
425
425
}
426
426
KeyCode :: Spacebar => DecodedKey :: Unicode ( ' ' ) ,
427
427
KeyCode :: Delete => DecodedKey :: Unicode ( 127 . into ( ) ) ,
428
- KeyCode :: NumpadSlash => DecodedKey :: Unicode ( '/' ) ,
429
- KeyCode :: NumpadStar => DecodedKey :: Unicode ( '*' ) ,
430
- KeyCode :: NumpadMinus => DecodedKey :: Unicode ( '-' ) ,
428
+ KeyCode :: NumpadDivide => DecodedKey :: Unicode ( '/' ) ,
429
+ KeyCode :: NumpadMultiply => DecodedKey :: Unicode ( '*' ) ,
430
+ KeyCode :: NumpadSubtract => DecodedKey :: Unicode ( '-' ) ,
431
431
KeyCode :: Numpad7 => {
432
432
if modifiers. numlock {
433
433
DecodedKey :: Unicode ( '7' )
@@ -449,7 +449,7 @@ impl KeyboardLayout for Azerty {
449
449
DecodedKey :: RawKey ( KeyCode :: PageUp )
450
450
}
451
451
}
452
- KeyCode :: NumpadPlus => DecodedKey :: Unicode ( '+' ) ,
452
+ KeyCode :: NumpadAdd => DecodedKey :: Unicode ( '+' ) ,
453
453
KeyCode :: Numpad4 => {
454
454
if modifiers. numlock {
455
455
DecodedKey :: Unicode ( '4' )
@@ -501,8 +501,59 @@ impl KeyboardLayout for Azerty {
501
501
}
502
502
}
503
503
KeyCode :: NumpadEnter => DecodedKey :: Unicode ( 10 . into ( ) ) ,
504
- KeyCode :: ShiftLeft => DecodedKey :: Unicode ( '<' ) ,
504
+ KeyCode :: LShift => DecodedKey :: Unicode ( '<' ) ,
505
505
k => DecodedKey :: RawKey ( k) ,
506
506
}
507
507
}
508
508
}
509
+
510
+ #[ cfg( test) ]
511
+ mod test {
512
+ use super :: * ;
513
+ use crate :: { KeyCode , KeyEvent , KeyState , Keyboard , ScancodeSet2 } ;
514
+
515
+ #[ test]
516
+ fn test_frazert ( ) {
517
+ let mut k = Keyboard :: < Azerty , ScancodeSet2 > :: new ( HandleControl :: MapLettersToUnicode ) ;
518
+ assert_eq ! (
519
+ k. process_keyevent( KeyEvent :: new( KeyCode :: NumpadDivide , KeyState :: Down ) ) ,
520
+ Some ( DecodedKey :: Unicode ( '/' ) )
521
+ ) ;
522
+ assert_eq ! (
523
+ k. process_keyevent( KeyEvent :: new( KeyCode :: NumpadMultiply , KeyState :: Down ) ) ,
524
+ Some ( DecodedKey :: Unicode ( '*' ) )
525
+ ) ;
526
+ assert_eq ! (
527
+ k. process_keyevent( KeyEvent :: new( KeyCode :: A , KeyState :: Down ) ) ,
528
+ Some ( DecodedKey :: Unicode ( 'q' ) )
529
+ ) ;
530
+ assert_eq ! (
531
+ k. process_keyevent( KeyEvent :: new( KeyCode :: Key4 , KeyState :: Down ) ) ,
532
+ Some ( DecodedKey :: Unicode ( '\'' ) )
533
+ ) ;
534
+ assert_eq ! (
535
+ k. process_keyevent( KeyEvent :: new( KeyCode :: Oem7 , KeyState :: Down ) ) ,
536
+ Some ( DecodedKey :: Unicode ( '*' ) )
537
+ ) ;
538
+ assert_eq ! (
539
+ k. process_keyevent( KeyEvent :: new( KeyCode :: Numpad0 , KeyState :: Up ) ) ,
540
+ None
541
+ ) ;
542
+ assert_eq ! (
543
+ k. process_keyevent( KeyEvent :: new( KeyCode :: NumpadLock , KeyState :: Down ) ) ,
544
+ None
545
+ ) ;
546
+ assert_eq ! (
547
+ k. process_keyevent( KeyEvent :: new( KeyCode :: NumpadLock , KeyState :: Up ) ) ,
548
+ None
549
+ ) ;
550
+ assert_eq ! (
551
+ k. process_keyevent( KeyEvent :: new( KeyCode :: Numpad0 , KeyState :: Down ) ) ,
552
+ Some ( DecodedKey :: RawKey ( KeyCode :: Insert ) )
553
+ ) ;
554
+ assert_eq ! (
555
+ k. process_keyevent( KeyEvent :: new( KeyCode :: Numpad0 , KeyState :: Up ) ) ,
556
+ None
557
+ ) ;
558
+ }
559
+ }
0 commit comments