OLD | NEW |
1 <!-- | 1 <!-- |
2 -- Copyright (c) 2013 The Chromium Authors. All rights reserved. | 2 -- Copyright (c) 2013 The Chromium Authors. All rights reserved. |
3 -- Use of this source code is governed by a BSD-style license that can be | 3 -- Use of this source code is governed by a BSD-style license that can be |
4 -- found in the LICENSE file. | 4 -- found in the LICENSE file. |
5 --> | 5 --> |
6 | 6 |
7 <element name="kb-keyboard" on-key-over="keyOver" on-key-up="keyUp" | 7 <element name="kb-keyboard" on-key-over="keyOver" on-key-up="keyUp" |
8 on-key-down="keyDown" attributes="keyset rows"> | 8 on-key-down="keyDown" attributes="keyset rows"> |
9 <template> | 9 <template> |
10 <content select="#{{keyset}}"></content> | 10 <content select="#{{keyset}}"></content> |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 * @param {Object} detail The detail of pressed kb-key. | 88 * @param {Object} detail The detail of pressed kb-key. |
89 */ | 89 */ |
90 keyDown: function(event, detail) { | 90 keyDown: function(event, detail) { |
91 var toKeyset = detail.toKeyset; | 91 var toKeyset = detail.toKeyset; |
92 if (this.lastPressedKey) | 92 if (this.lastPressedKey) |
93 this.lastPressedKey.classList.remove('active'); | 93 this.lastPressedKey.classList.remove('active'); |
94 this.lastPressedKey = event.target; | 94 this.lastPressedKey = event.target; |
95 this.lastPressedKey.classList.add('active'); | 95 this.lastPressedKey.classList.add('active'); |
96 repeatKey.cancel(); | 96 repeatKey.cancel(); |
97 if (detail.repeat) { | 97 if (detail.repeat) { |
98 sendKey(detail.char); | 98 insertText(detail.char); |
99 repeatKey.key = this.lastPressedKey; | 99 repeatKey.key = this.lastPressedKey; |
100 repeatKey.timer = setTimeout(function() { | 100 repeatKey.timer = setTimeout(function() { |
101 repeatKey.timer = undefined; | 101 repeatKey.timer = undefined; |
102 repeatKey.interval = setInterval(function() { | 102 repeatKey.interval = setInterval(function() { |
103 sendKey(detail.char); | 103 insertText(detail.char); |
104 }, REPEAT_INTERVAL_MSEC); | 104 }, REPEAT_INTERVAL_MSEC); |
105 }, Math.max(0, REPEAT_DELAY_MSEC - REPEAT_INTERVAL_MSEC)); | 105 }, Math.max(0, REPEAT_DELAY_MSEC - REPEAT_INTERVAL_MSEC)); |
106 } | 106 } |
107 }, | 107 }, |
108 | 108 |
109 /** | 109 /** |
110 * Handles key-up event that is sent by kb-key. | 110 * Handles key-up event that is sent by kb-key. |
111 * @param {CustomEvent} event The key-up event dispatched by kb-key. | 111 * @param {CustomEvent} event The key-up event dispatched by kb-key. |
112 * @param {Object} detail The detail of pressed kb-key. | 112 * @param {Object} detail The detail of pressed kb-key. |
113 */ | 113 */ |
114 keyUp: function(event, detail) { | 114 keyUp: function(event, detail) { |
115 this.lastPressedKey.classList.remove('active'); | 115 this.lastPressedKey.classList.remove('active'); |
116 if (this.lastPressedKey != event.target) | 116 if (this.lastPressedKey != event.target) |
117 return; | 117 return; |
118 if (repeatKey.key == event.target) { | 118 if (repeatKey.key == event.target) { |
119 repeatKey.cancel(); | 119 repeatKey.cancel(); |
120 return; | 120 return; |
121 } | 121 } |
122 var toKeyset = detail.toKeyset; | 122 var toKeyset = detail.toKeyset; |
123 // Keyset transtion key. | 123 // Keyset transtion key. |
124 if (toKeyset) { | 124 if (toKeyset) { |
125 this.keyset = toKeyset; | 125 this.keyset = toKeyset; |
126 } | 126 } |
127 var char = detail.char; | 127 var char = detail.char; |
128 if (enterUpperOnSpace) { | 128 if (enterUpperOnSpace) { |
129 enterUpperOnSpace = false; | 129 enterUpperOnSpace = false; |
130 if (char == 'Spacebar') | 130 if (char == ' ') |
131 this.keyset = 'upper'; | 131 this.keyset = 'upper'; |
132 } | 132 } |
133 switch(char) { | 133 switch(char) { |
134 case 'Invalid': | 134 case 'Invalid': |
135 return; | 135 return; |
136 case 'Mic': | 136 case 'Mic': |
137 this.voiceInput_.onDown(); | 137 this.voiceInput_.onDown(); |
138 return; | 138 return; |
139 case '.': | 139 case '.': |
140 case '?': | 140 case '?': |
141 case '!': | 141 case '!': |
142 enterUpperOnSpace = true; | 142 enterUpperOnSpace = true; |
143 break; | 143 break; |
144 case 'Tab': | |
145 case 'Spacebar': | |
146 case 'Enter': | |
147 sendKey(char); | |
148 return; | |
149 default: | 144 default: |
150 break; | 145 break; |
151 } | 146 } |
152 for (var i = 0; i < char.length; i++) { | 147 insertText(char); |
153 sendKey(char.charAt(i)); | |
154 } | |
155 } | 148 } |
156 }); | 149 }); |
157 </script> | 150 </script> |
158 </element> | 151 </element> |
159 | 152 |
OLD | NEW |