Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Side by Side Diff: ui/keyboard/resources/elements/kb-keyboard.html

Issue 26258003: Add a full QWERTY layout. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix edge case in WebUI Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!-- 1 <!--
2 -- Copyright 2013 The Chromium Authors. All rights reserved. 2 -- Copyright 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 <polymer-element name="kb-keyboard" on-key-over="keyOver" on-key-up="keyUp" 7 <polymer-element name="kb-keyboard" on-key-over="keyOver" on-key-up="keyUp"
8 on-key-down="keyDown" on-key-longpress="keyLongpress" on-pointerup="up" 8 on-key-down="keyDown" on-key-longpress="keyLongpress" on-pointerup="up"
9 on-pointerdown="down" on-enable-sel="enableSel" 9 on-pointerdown="down" on-enable-sel="enableSel"
10 on-enable-dbl="enableDbl" on-key-out="keyOut" 10 on-enable-dbl="enableDbl" on-key-out="keyOut"
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 shift: null, 205 shift: null,
206 inputType: null, 206 inputType: null,
207 207
208 /** 208 /**
209 * The default input type to keyboard layout map. The key must be one of 209 * The default input type to keyboard layout map. The key must be one of
210 * the input box type values. 210 * the input box type values.
211 * @type {object} 211 * @type {object}
212 */ 212 */
213 inputTypeToLayoutMap: { 213 inputTypeToLayoutMap: {
214 number: "numeric", 214 number: "numeric",
215 text: "qwerty" 215 text: "qwerty",
216 password: "system-qwerty" //TODO(rsadam@): Add unit test for this.
216 }, 217 },
217 218
218 /** 219 /**
219 * Changes the current keyset. 220 * Changes the current keyset.
220 * @param {Object} detail The detail of the event that called this 221 * @param {Object} detail The detail of the event that called this
221 * function. 222 * function.
222 */ 223 */
223 changeKeyset: function(detail) { 224 changeKeyset: function(detail) {
224 if (detail.relegateToShift && this.shift) { 225 if (detail.relegateToShift && this.shift) {
225 this.keyset = this.shift.textKeyset; 226 this.keyset = this.shift.textKeyset;
(...skipping 12 matching lines...) Expand all
238 ready: function() { 239 ready: function() {
239 this.voiceInput_ = new VoiceInput(this); 240 this.voiceInput_ = new VoiceInput(this);
240 this.swipeHandler = this.onSwipeUpdate.bind(this); 241 this.swipeHandler = this.onSwipeUpdate.bind(this);
241 }, 242 },
242 243
243 /** 244 /**
244 * Called when the type of focused input box changes. If a keyboard layout 245 * Called when the type of focused input box changes. If a keyboard layout
245 * is defined for the current input type, that layout will be loaded. 246 * is defined for the current input type, that layout will be loaded.
246 * Otherwise, the keyboard layout for 'text' type will be loaded. 247 * Otherwise, the keyboard layout for 'text' type will be loaded.
247 */ 248 */
248 inputTypeChanged: function() { 249 inputTypeChanged: function() {
bshe 2013/10/09 19:42:55 we can probably just override inputType setter and
rsadam 2013/10/09 20:18:46 As we discussed offline, that will cause timing is
249 // TODO(bshe): Toggle visibility of some keys in a keyboard layout 250 // TODO(bshe): Toggle visibility of some keys in a keyboard layout
250 // according to the input type. 251 // according to the input type.
251 var layout = this.inputTypeToLayoutMap[this.inputType]; 252 var layout = this.inputTypeToLayoutMap[this.inputType];
252 if (!layout) 253 if (!layout)
253 layout = this.inputTypeToLayoutMap.text; 254 layout = this.inputTypeToLayoutMap.text;
254 // Reselects the default keyset if target layout is the same as current 255 this.layout = layout;
255 // layout. This forces a reset of the keyboard state.
256 if(this.layout == layout)
257 this.selectDefaultKeyset();
258 else
259 this.layout = layout;
260 }, 256 },
261 257
262 /** 258 /**
263 * When double click/tap event is enabled, the second key-down and key-up 259 * When double click/tap event is enabled, the second key-down and key-up
264 * events on the same key should be skipped. Return true when the event 260 * events on the same key should be skipped. Return true when the event
265 * with |detail| should be skipped. 261 * with |detail| should be skipped.
266 * @param {Object} detail The detail of key-up or key-down event. 262 * @param {Object} detail The detail of key-up or key-down event.
267 */ 263 */
268 skipEvent: function(detail) { 264 skipEvent: function(detail) {
269 if (this.dblDetail_) { 265 if (this.dblDetail_) {
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
589 585
590 /** 586 /**
591 * The active keyset DOM object. 587 * The active keyset DOM object.
592 * @type {kb-keyset} 588 * @type {kb-keyset}
593 */ 589 */
594 get activeKeyset() { 590 get activeKeyset() {
595 return this.querySelector('#' + this.activeKeysetId); 591 return this.querySelector('#' + this.activeKeysetId);
596 }, 592 },
597 593
598 /** 594 /**
595 * The current input type.
596 * @type {string}
597 */
598 get inputTypeValue() {
599 return inputType;
600 },
601
602 /**
603 * Changes the input type if it's different from the current
604 * type, else resets the keyset to the default keyset.
605 * @type {string}
606 */
607 set inputTypeValue(value) {
608 if (value == this.inputType)
609 this.selectDefaultKeyset();
610 else
611 this.inputType = value;
612 },
613
614 /**
599 * Generates fabricated key events to simulate typing on a 615 * Generates fabricated key events to simulate typing on a
600 * physical keyboard. 616 * physical keyboard.
601 * @param {Object} detail Attributes of the key being typed. 617 * @param {Object} detail Attributes of the key being typed.
602 */ 618 */
603 keyTyped: function(detail) { 619 keyTyped: function(detail) {
604 var builder = this.$.keyCodeMetadata; 620 var builder = this.$.keyCodeMetadata;
605 sendKeyEvent(builder.createVirtualKeyEvent(detail, "keydown")); 621 sendKeyEvent(builder.createVirtualKeyEvent(detail, "keydown"));
606 sendKeyEvent(builder.createVirtualKeyEvent(detail, "keyup")); 622 sendKeyEvent(builder.createVirtualKeyEvent(detail, "keyup"));
607 }, 623 },
608 624
(...skipping 26 matching lines...) Expand all
635 } 651 }
636 } 652 }
637 } 653 }
638 if (keysetsLoaded) 654 if (keysetsLoaded)
639 console.error('No default keyset found for ' + this.layout); 655 console.error('No default keyset found for ' + this.layout);
640 return false; 656 return false;
641 } 657 }
642 }); 658 });
643 </script> 659 </script>
644 </polymer-element> 660 </polymer-element>
OLDNEW
« no previous file with comments | « ui/keyboard/resources/elements/kb-key-sequence.html ('k') | ui/keyboard/resources/layouts/system-qwerty.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698