| OLD | NEW |
| 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" attributes="keyset layout rows capsLocked"> | 10 on-enable-dbl="enableDbl" attributes="keyset layout rows capsLocked"> |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 */ | 282 */ |
| 283 keyDown: function(event, detail) { | 283 keyDown: function(event, detail) { |
| 284 if (this.skipEvent(detail)) | 284 if (this.skipEvent(detail)) |
| 285 return; | 285 return; |
| 286 | 286 |
| 287 if (this.lastPressedKey) | 287 if (this.lastPressedKey) |
| 288 this.lastPressedKey.classList.remove('active'); | 288 this.lastPressedKey.classList.remove('active'); |
| 289 this.lastPressedKey = event.target; | 289 this.lastPressedKey = event.target; |
| 290 this.lastPressedKey.classList.add('active'); | 290 this.lastPressedKey.classList.add('active'); |
| 291 repeatKey.cancel(); | 291 repeatKey.cancel(); |
| 292 |
| 293 var char = detail.char; |
| 294 switch(char) { |
| 295 case 'Shift': |
| 296 // Removes caps-lock if caps-locked. |
| 297 if(this.classList.contains('caps-locked')) { |
| 298 this.classList.remove('caps-locked'); |
| 299 } |
| 300 break; |
| 301 default: |
| 302 break; |
| 303 } |
| 304 |
| 305 // A transition key was pressed, immediately move to new keyset. |
| 292 var toKeyset = detail.toKeyset; | 306 var toKeyset = detail.toKeyset; |
| 293 if (toKeyset) { | 307 if (toKeyset) { |
| 294 this.keyset = toKeyset; | 308 this.keyset = toKeyset; |
| 295 this.querySelector('#' + this.layout + '-' + this.keyset).nextKeyset = | 309 this.querySelector('#' + this.layout + '-' + this.keyset).nextKeyset = |
| 296 detail.nextKeyset; | 310 detail.nextKeyset; |
| 297 return; | 311 return; |
| 298 } | 312 } |
| 299 | 313 |
| 300 if (detail.repeat) { | 314 if (detail.repeat) { |
| 301 this.keyTyped(detail); | 315 this.keyTyped(detail); |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 393 if (swipeInProgress) | 407 if (swipeInProgress) |
| 394 return; | 408 return; |
| 395 this.lastPressedKey.classList.remove('active'); | 409 this.lastPressedKey.classList.remove('active'); |
| 396 if (this.lastPressedKey != event.target) | 410 if (this.lastPressedKey != event.target) |
| 397 return; | 411 return; |
| 398 if (repeatKey.key == event.target) { | 412 if (repeatKey.key == event.target) { |
| 399 repeatKey.cancel(); | 413 repeatKey.cancel(); |
| 400 return; | 414 return; |
| 401 } | 415 } |
| 402 var toKeysetId = detail.toKeyset; | 416 var toKeysetId = detail.toKeyset; |
| 403 // Keyset transition key. | 417 // Keyset transition key. This is needed to transition from upper |
| 418 // to lower case when we are not in caps mode. |
| 404 if (toKeysetId) { | 419 if (toKeysetId) { |
| 405 this.keyset = toKeysetId; | 420 this.keyset = toKeysetId; |
| 406 this.querySelector('#' + this.layout + '-' + this.keyset).nextKeyset = | 421 this.querySelector('#' + this.layout + '-' + this.keyset).nextKeyset = |
| 407 detail.nextKeyset; | 422 detail.nextKeyset; |
| 408 } | 423 } |
| 409 var toLayoutId = detail.toLayout; | 424 var toLayoutId = detail.toLayout; |
| 410 // Layout transition key. | 425 // Layout transition key. |
| 411 if (toLayoutId) | 426 if (toLayoutId) |
| 412 this.layout = toLayoutId; | 427 this.layout = toLayoutId; |
| 413 var char = detail.char; | 428 var char = detail.char; |
| 414 if (enterUpperOnSpace) { | 429 if (enterUpperOnSpace) { |
| 415 enterUpperOnSpace = false; | 430 enterUpperOnSpace = false; |
| 416 if (char == ' ') | 431 if (char == ' ') |
| 417 this.keyset = 'upper'; | 432 this.keyset = 'upper'; |
| 418 } | 433 } |
| 419 switch(char) { | 434 switch(char) { |
| 420 case 'Invalid': | 435 case 'Invalid': |
| 421 swipeStatus.swipeFlags = 0; | 436 swipeStatus.swipeFlags = 0; |
| 422 return; | 437 return; |
| 423 case 'Shift': | 438 case 'Shift': |
| 424 swipeStatus.swipeFlags = 0; | 439 swipeStatus.swipeFlags = 0; |
| 425 // We have reverted to lower case. | |
| 426 if(this.classList.contains('caps-locked')) | |
| 427 this.classList.remove('caps-locked'); | |
| 428 return; | 440 return; |
| 429 case 'Microphone': | 441 case 'Microphone': |
| 430 this.voiceInput_.onDown(); | 442 this.voiceInput_.onDown(); |
| 431 return; | 443 return; |
| 432 case '.': | 444 case '.': |
| 433 case '?': | 445 case '?': |
| 434 case '!': | 446 case '!': |
| 435 enterUpperOnSpace = true; | 447 enterUpperOnSpace = true; |
| 436 break; | 448 break; |
| 437 default: | 449 default: |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 547 } | 559 } |
| 548 } | 560 } |
| 549 if (keysetsLoaded) | 561 if (keysetsLoaded) |
| 550 console.error('No default keyset found for ' + this.layout); | 562 console.error('No default keyset found for ' + this.layout); |
| 551 return false; | 563 return false; |
| 552 } | 564 } |
| 553 }); | 565 }); |
| 554 </script> | 566 </script> |
| 555 </polymer-element> | 567 </polymer-element> |
| 556 | 568 |
| OLD | NEW |