Fossil SCM

Revamp key handling to work with modifiers.

florian 2022-07-31 08:39 UTC timeline-keyboard-navigation
Commit af89065ec5a84766ad15c7e7ea8bb8dfbb3808147ad6c39abbcb97a0ba521a75
1 file changed +3 -3
+3 -3
--- src/graph.js
+++ src/graph.js
@@ -894,19 +894,19 @@
894894
kf.style.visibility = 'hidden';
895895
kf.id = 'timeline-kbfocus';
896896
document.body.appendChild(kf);
897897
}
898898
document.addEventListener('keydown',function(evt){
899
+ if( evt.target.tagName=='INPUT' ) return;
899900
var
900901
kNEXT = 78 /* N */,
901902
kPREV = 77 /* M */,
902903
kTMLN = 74 /* J */,
903904
kVIEW = 75 /* K */,
904905
kDONE = 76 /* L */;
905
- var key = evt.which || evt.keyCode;
906
- if( evt.target.tagName=='INPUT' ) return;
907
- if( evt.altKey || evt.ctrlKey || evt.shiftKey ) return;
906
+ var key = ( evt.which || evt.keyCode )
907
+ | evt.altKey<<15 | evt.ctrlKey<<14 | evt.shiftKey<<13;
908908
var dx = 0;
909909
if( key==kPREV ) dx++;
910910
else if( key==kNEXT ) dx--;
911911
else if( key!=kTMLN && key!=kVIEW && key!=kDONE ) return;
912912
var kf = document.getElementById('timeline-kbfocus');
913913
--- src/graph.js
+++ src/graph.js
@@ -894,19 +894,19 @@
894 kf.style.visibility = 'hidden';
895 kf.id = 'timeline-kbfocus';
896 document.body.appendChild(kf);
897 }
898 document.addEventListener('keydown',function(evt){
 
899 var
900 kNEXT = 78 /* N */,
901 kPREV = 77 /* M */,
902 kTMLN = 74 /* J */,
903 kVIEW = 75 /* K */,
904 kDONE = 76 /* L */;
905 var key = evt.which || evt.keyCode;
906 if( evt.target.tagName=='INPUT' ) return;
907 if( evt.altKey || evt.ctrlKey || evt.shiftKey ) return;
908 var dx = 0;
909 if( key==kPREV ) dx++;
910 else if( key==kNEXT ) dx--;
911 else if( key!=kTMLN && key!=kVIEW && key!=kDONE ) return;
912 var kf = document.getElementById('timeline-kbfocus');
913
--- src/graph.js
+++ src/graph.js
@@ -894,19 +894,19 @@
894 kf.style.visibility = 'hidden';
895 kf.id = 'timeline-kbfocus';
896 document.body.appendChild(kf);
897 }
898 document.addEventListener('keydown',function(evt){
899 if( evt.target.tagName=='INPUT' ) return;
900 var
901 kNEXT = 78 /* N */,
902 kPREV = 77 /* M */,
903 kTMLN = 74 /* J */,
904 kVIEW = 75 /* K */,
905 kDONE = 76 /* L */;
906 var key = ( evt.which || evt.keyCode )
907 | evt.altKey<<15 | evt.ctrlKey<<14 | evt.shiftKey<<13;
 
908 var dx = 0;
909 if( key==kPREV ) dx++;
910 else if( key==kNEXT ) dx--;
911 else if( key!=kTMLN && key!=kVIEW && key!=kDONE ) return;
912 var kf = document.getElementById('timeline-kbfocus');
913

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button