File tree Expand file tree Collapse file tree 2 files changed +24
-95
lines changed Expand file tree Collapse file tree 2 files changed +24
-95
lines changed Original file line number Diff line number Diff line change 27
27
28
28
_log = logging .getLogger (__name__ )
29
29
30
- # http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
31
- _SHIFT_LUT = {59 : ':' ,
32
- 61 : '+' ,
33
- 173 : '_' ,
34
- 186 : ':' ,
35
- 187 : '+' ,
36
- 188 : '<' ,
37
- 189 : '_' ,
38
- 190 : '>' ,
39
- 191 : '?' ,
40
- 192 : '~' ,
41
- 219 : '{' ,
42
- 220 : '|' ,
43
- 221 : '}' ,
44
- 222 : '"' }
45
-
46
- _LUT = {8 : 'backspace' ,
47
- 9 : 'tab' ,
48
- 13 : 'enter' ,
49
- 16 : 'shift' ,
50
- 17 : 'control' ,
51
- 18 : 'alt' ,
52
- 19 : 'pause' ,
53
- 20 : 'caps' ,
54
- 27 : 'escape' ,
55
- 32 : ' ' ,
56
- 33 : 'pageup' ,
57
- 34 : 'pagedown' ,
58
- 35 : 'end' ,
59
- 36 : 'home' ,
60
- 37 : 'left' ,
61
- 38 : 'up' ,
62
- 39 : 'right' ,
63
- 40 : 'down' ,
64
- 45 : 'insert' ,
65
- 46 : 'delete' ,
66
- 91 : 'super' ,
67
- 92 : 'super' ,
68
- 93 : 'select' ,
69
- 106 : '*' ,
70
- 107 : '+' ,
71
- 109 : '-' ,
72
- 110 : '.' ,
73
- 111 : '/' ,
74
- 144 : 'num_lock' ,
75
- 145 : 'scroll_lock' ,
76
- 186 : ':' ,
77
- 187 : '=' ,
78
- 188 : ',' ,
79
- 189: '-' ,
80
- 190 : '.' ,
81
- 191 : '/' ,
82
- 192 : '`' ,
83
- 219 : '[' ,
84
- 220 : '\\ ' ,
85
- 221 : ']' ,
86
- 222 : "'" }
30
+ _LUT = {'AltGraph' : 'alt' ,
31
+ 'CapsLock' : 'caps' ,
32
+ 'ArrowLeft' : 'left' ,
33
+ 'ArrowUp' : 'up' ,
34
+ 'ArrowRight' : 'right' ,
35
+ 'ArrowDown' : 'down' ,
36
+ 'NumLock' : 'num_lock' ,
37
+ 'ScrollLock' : 'scroll_lock' }
87
38
88
39
89
40
def _handle_key (key ):
90
- """Handle key codes"""
91
- code = int (key [key .index ('k' ) + 1 :])
92
- value = chr (code )
93
- # letter keys
94
- if 65 <= code <= 90 :
95
- if 'shift+' in key :
96
- key = key .replace ('shift+' , '' )
97
- else :
98
- value = value .lower ()
99
- # number keys
100
- elif 48 <= code <= 57 :
101
- if 'shift+' in key :
102
- value = ')!@#$%^&*(' [int (value )]
103
- key = key .replace ('shift+' , '' )
104
- # function keys
105
- elif 112 <= code <= 123 :
106
- value = 'f%s' % (code - 111 )
107
- # number pad keys
108
- elif 96 <= code <= 105 :
109
- value = '%s' % (code - 96 )
110
- # keys with shift alternatives
111
- elif code in _SHIFT_LUT and 'shift+' in key :
112
- key = key .replace ('shift+' , '' )
113
- value = _SHIFT_LUT [code ]
114
- elif code in _LUT :
115
- value = _LUT [code ]
116
- key = key [:key .index ('k' )] + value
117
- return key
41
+ """Handle key values"""
42
+ value = key
43
+ # Only set to lower if key value is an uppercase letter or
44
+ # a combination of a modifier and an uppercase letter
45
+ # (e.g. "ctrl+C", "A", and "ctrl+alt+T" must remain unaltered).
46
+ if not value [- 1 :].isupper ():
47
+ value = value .lower ()
48
+ if key in _LUT :
49
+ value = _LUT [key ]
50
+ return value
118
51
119
52
120
53
class TimerTornado (backend_bases .TimerBase ):
Original file line number Diff line number Diff line change @@ -636,35 +636,31 @@ mpl.figure.prototype.mouse_event = function (event, name) {
636
636
} ;
637
637
638
638
mpl . figure . prototype . _key_event_extra = function ( _event , _name ) {
639
- // Handle any extra behaviour associated with a key event
639
+ // Ha ndle any extra behaviour associated with a key event
640
640
} ;
641
641
642
642
mpl . figure . prototype . key_event = function ( event , name ) {
643
643
// Prevent repeat events
644
644
if ( name === 'key_press' ) {
645
- if ( event . which === this . _key ) {
645
+ if ( event . key === this . _key ) {
646
646
return ;
647
647
} else {
648
- this . _key = event . which ;
648
+ this . _key = event . key ;
649
649
}
650
650
}
651
651
if ( name === 'key_release' ) {
652
652
this . _key = null ;
653
653
}
654
654
655
655
var value = '' ;
656
- if ( event . ctrlKey && event . which !== 17 ) {
656
+ if ( event . ctrlKey && event . key !== 'Control' ) {
657
657
value += 'ctrl+' ;
658
658
}
659
- if ( event . altKey && event . which !== 18 ) {
659
+ if ( event . altKey && event . key !== 'Alt' ) {
660
660
value += 'alt+' ;
661
661
}
662
- if ( event . shiftKey && event . which !== 16 ) {
663
- value += 'shift+' ;
664
- }
665
662
666
- value += 'k' ;
667
- value += event . which . toString ( ) ;
663
+ value += event . key ;
668
664
669
665
this . _key_event_extra ( event , name ) ;
670
666
You can’t perform that action at this time.
0 commit comments