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

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

Issue 20145004: Switch from text insertion to key press and release events on the virtual k… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge with trunk. Created 7 years, 3 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 | Annotate | Revision Log
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-key-base" 7 <polymer-element name="kb-key-base"
8 on-pointerdown="down" on-pointerup="up" on-pointerout="out" 8 on-pointerdown="down" on-pointerup="up" on-pointerout="out"
9 attributes="accents char invert repeat superscript toKeyset toLayout"> 9 attributes="accents char invert repeat superscript toKeyset toLayout">
10 <script> 10 <script>
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 if (keyValues.length < MINIMUM_NUM_OF_RULE_ELEMENTS) { 102 if (keyValues.length < MINIMUM_NUM_OF_RULE_ELEMENTS) {
103 console.error('Invalid keyset rules: ' + element); 103 console.error('Invalid keyset rules: ' + element);
104 return; 104 return;
105 } 105 }
106 self.keysetRules[keyValues[EVENT_TYPE]] = [keyValues[TO_KEYSET], 106 self.keysetRules[keyValues[EVENT_TYPE]] = [keyValues[TO_KEYSET],
107 (keyValues[NEXT_KEYSET] ? keyValues[NEXT_KEYSET] : null)]; 107 (keyValues[NEXT_KEYSET] ? keyValues[NEXT_KEYSET] : null)];
108 }); 108 });
109 } 109 }
110 }, 110 },
111 down: function(event) { 111 down: function(event) {
112 var detail = { 112 var detail = this.PopulateDetails();
113 char: this.charValue,
114 toLayout: this.toLayout,
115 repeat: this.repeat
116 };
117 if (this.keysetRules && this.keysetRules.down != undefined) { 113 if (this.keysetRules && this.keysetRules.down != undefined) {
118 detail.toKeyset = this.keysetRules.down[TO_KEYSET - OFFSET]; 114 detail.toKeyset = this.keysetRules.down[TO_KEYSET - OFFSET];
119 detail.nextKeyset = this.keysetRules.down[NEXT_KEYSET - OFFSET]; 115 detail.nextKeyset = this.keysetRules.down[NEXT_KEYSET - OFFSET];
120 } 116 }
121 this.fire('key-down', detail); 117 this.fire('key-down', detail);
122 this.longPressTimer = this.asyncMethod(function() { 118 this.longPressTimer = this.asyncMethod(function() {
123 var detail = { 119 var detail = {
124 char: this.charValue, 120 char: this.charValue,
125 superscript: this.superscript 121 superscript: this.superscript
126 }; 122 };
127 if (this.keysetRules && this.keysetRules.long != undefined) { 123 if (this.keysetRules && this.keysetRules.long != undefined) {
128 detail.toKeyset = this.keysetRules.long[TO_KEYSET - OFFSET]; 124 detail.toKeyset = this.keysetRules.long[TO_KEYSET - OFFSET];
129 detail.nextKeyset = this.keysetRules.long[NEXT_KEYSET - OFFSET]; 125 detail.nextKeyset = this.keysetRules.long[NEXT_KEYSET - OFFSET];
130 } 126 }
131 this.fire('key-longpress', detail); 127 this.fire('key-longpress', detail);
132 }, null, LONGPRESS_DELAY_MSEC); 128 }, null, LONGPRESS_DELAY_MSEC);
133 }, 129 },
134 out: function(event) { 130 out: function(event) {
135 clearTimeout(this.longPressTimer); 131 clearTimeout(this.longPressTimer);
136 }, 132 },
137 up: function(event) { 133 up: function(event) {
138 clearTimeout(this.longPressTimer); 134 clearTimeout(this.longPressTimer);
139 var detail = { 135 var detail = this.PopulateDetails();
140 char: this.charValue,
141 toLayout: this.toLayout
142 };
143 if (this.keysetRules && this.keysetRules.up != undefined) { 136 if (this.keysetRules && this.keysetRules.up != undefined) {
144 detail.toKeyset = this.keysetRules.up[TO_KEYSET - OFFSET]; 137 detail.toKeyset = this.keysetRules.up[TO_KEYSET - OFFSET];
145 detail.nextKeyset = this.keysetRules.up[NEXT_KEYSET - OFFSET]; 138 detail.nextKeyset = this.keysetRules.up[NEXT_KEYSET - OFFSET];
146 } 139 }
147 this.fire('key-up', detail); 140 this.fire('key-up', detail);
148 }, 141 },
149 142
150 /** 143 /**
151 * Character value associated with the key. Typically, the value is a 144 * Character value associated with the key. Typically, the value is a
152 * single charcater, but may be multi-character in cases like a ".com" 145 * single charcater, but may be multi-character in cases like a ".com"
153 * button. 146 * button.
154 * @type {string} 147 * @type {string}
155 */ 148 */
156 get charValue() { 149 get charValue() {
157 return this.char || this.textContent; 150 return this.char || this.textContent;
158 }, 151 },
152
153 PopulateDetails: function() {
154 return {
155 char: this.charValue,
156 toLayout: this.toLayout,
157 repeat: this.repeat
158 };
159 },
159 }); 160 });
160 </script> 161 </script>
161 </polymer-element> 162 </polymer-element>
OLDNEW
« no previous file with comments | « ui/keyboard/resources/elements/kb-key.html ('k') | ui/keyboard/resources/elements/kb-key-codes.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698