diff options
author | Alessandro Cosentino <cosenal@gmail.com> | 2014-01-14 10:34:21 +0100 |
---|---|---|
committer | Alessandro Cosentino <cosenal@gmail.com> | 2014-01-14 10:34:21 +0100 |
commit | bb064aa9cc5681283697da56c5ca9149bcc1e2d3 (patch) | |
tree | dcda34f59ca360742c450d01fbda74975d9a6130 /js/app/directives/itemshortcuts.coffee | |
parent | fe4daa3001edfa128f7069ea0fcafa07d7a35bd7 (diff) |
activate shortcuts only when modifier keys are not pressed. fix #449
Diffstat (limited to 'js/app/directives/itemshortcuts.coffee')
-rw-r--r-- | js/app/directives/itemshortcuts.coffee | 75 |
1 files changed, 39 insertions, 36 deletions
diff --git a/js/app/directives/itemshortcuts.coffee b/js/app/directives/itemshortcuts.coffee index e100b2dd2..49dc75b37 100644 --- a/js/app/directives/itemshortcuts.coffee +++ b/js/app/directives/itemshortcuts.coffee @@ -105,42 +105,45 @@ angular.module('News').directive 'itemShortcuts', ['$window', ($window) -> focused.is('checkbox') or focused.is('button')) - scrollArea = elm - # j or right or n - if e.keyCode == 74 or e.keyCode == 39 or e.keyCode == 78 - e.preventDefault() - jumpToNextItem(scrollArea) - - # k or left or p - else if e.keyCode == 75 or e.keyCode == 37 or e.keyCode == 80 - e.preventDefault() - jumpToPreviousItem(scrollArea) - - # u - else if e.keyCode == 85 - e.preventDefault() - keepUnreadCurrentItem(scrollArea) - - # e - else if e.keyCode == 69 - e.preventDefault() - expandCurrentItem(scrollArea) - - # s or i or l - else if e.keyCode == 73 or e.keyCode == 83 or e.keyCode == 76 - e.preventDefault() - starCurrentItem(scrollArea) - - # h - else if e.keyCode == 72 - e.preventDefault() - starCurrentItem(scrollArea) - jumpToNextItem(scrollArea) - - # o - else if e.keyCode == 79 - e.preventDefault() - openCurrentItem(scrollArea) + # activate shortcuts only if modifier keys are not pressed + if not(e.shiftKey or e.altKey or e.ctrlKey or e.metaKey) + + scrollArea = elm + # j or right or n + if e.keyCode == 74 or e.keyCode == 39 or e.keyCode == 78 + e.preventDefault() + jumpToNextItem(scrollArea) + + # k or left or p + else if e.keyCode == 75 or e.keyCode == 37 or e.keyCode == 80 + e.preventDefault() + jumpToPreviousItem(scrollArea) + + # u + else if e.keyCode == 85 + e.preventDefault() + keepUnreadCurrentItem(scrollArea) + + # e + else if e.keyCode == 69 + e.preventDefault() + expandCurrentItem(scrollArea) + + # s or i or l + else if e.keyCode == 73 or e.keyCode == 83 or e.keyCode == 76 + e.preventDefault() + starCurrentItem(scrollArea) + + # h + else if e.keyCode == 72 + e.preventDefault() + starCurrentItem(scrollArea) + jumpToNextItem(scrollArea) + + # o + else if e.keyCode == 79 + e.preventDefault() + openCurrentItem(scrollArea) ] |