Making Zotero more keyboard friendly
This might sound Luddite in the era of touch-everything, but I think a lot of us who use the same software 20 times a day very soon find that keyboard navigation is faster and more accurate than using the mouse. From that point of view, Zotero falls short of being keyboard friendly. Two kinds of improvements suggested:
1. Pull-down menus should be completely keystroke receptive(is that the right phrase?): e.g., currently, alt-F pulls down the File menu, but then hitting x does not result in Exit. Most Windows software complies with such conventions. (If "Exit" and "Export" have the same starting letter, underline x in Exit and use it to activate Exit.)
2. More flexibility in customizing keyboard short-cuts. Right now, one can only change the letters, but everything is Cntrl+Alt based. Please allow users to choose other combinations (Shift-Alt, Cntrl-Shift) etc. because many of us have already set up Windows shortcuts to other programmes using Cntrl-Alt.
1. Pull-down menus should be completely keystroke receptive(is that the right phrase?): e.g., currently, alt-F pulls down the File menu, but then hitting x does not result in Exit. Most Windows software complies with such conventions. (If "Exit" and "Export" have the same starting letter, underline x in Exit and use it to activate Exit.)
2. More flexibility in customizing keyboard short-cuts. Right now, one can only change the letters, but everything is Cntrl+Alt based. Please allow users to choose other combinations (Shift-Alt, Cntrl-Shift) etc. because many of us have already set up Windows shortcuts to other programmes using Cntrl-Alt.
1. On Windows, Alt-F, then x should close Standalone, at least in the English version (that's coded here). It works for me with the French version (Alt-F, then S - for Sortir) but not with the English one [and none are underlined]. I think it's a bug.
Alt-F, then c works though (Close - but it hasn't the same function)
2. I'm not sure but Ctrl-Alt combinations are used because Zotero was developped first as a Firefox extension and that was (maybe) the best way to avoid shortcuts conflicts.
Also, the latest version of Zutilo on GitHub ( https://github.com/willsALMANJ/Zutilo ) includes a Keyconfig-like interface for mapping some useful functions without having to install Keyconfig. That version hasn't been submitted to addons.mozilla.org yet.
(Shortcut keys actually appear to be broken completely in Windows and Linux in 4.0.9, at least for me, but I'm also fixing that.)
https://addons.mozilla.org/en-us/firefox/addon/zutilo-utility-for-zotero/
For creating just a blank new item, I use:
document.getElementById("zotero-tb-add").firstChild.showPopup()
which is equivalent to clicking on the green "plus" icon. You can then use the arrow keys and press enter to choose the kind of item to create. That function (and possibly a few more that aren't in Zutilo) is used in my Pentadactyl mappings for Zotero which you can see here:
https://github.com/willsALMANJ/Zoterodactyl
The instructions aren't as helpful as the Zutilo ones, but if you look at the source code in the plugins directory it should be easy to see which commands are which.
extensions.zotero.keys.openZotero ---> Z
But nothing happens when I press that key combo.Any suggestions?
I can reproduce this not working when inside a text box, which is probably because Ctrl+Shift+Z is mapped to "Redo". Even if possible, I'm not sure it would be a good idea to override that.
I just need you to help my memory: I know that it is possible, when you want to know in what folders is a reference, to hit a key to highlight the corresponding folders... You see what I mean?
What is that that key?
Please start a new thread for any further questions, as this is unrelated to the topic (or find a relevant thread).
After perusing the forums, I'm a little unclear as to whether this is possible. That is, I'm not sure whether Keyconfig can bind shortcuts to any command (whether native to Zotero or part of a plugin like Zotfile), or whether Zutilo already includes all the commands for which it's possible to have shortcuts.
I gather that if this is possible, it would involve looking at the Zotero code to get the relevant commands, then adding a new key in Keyconfig. I'm not quite sure how to go about this, so does anyone know if there are instructions available somewhere (i.e., describing what part of the Zotero code to copy and paste into the Keyconfig editor)?
Thanks in advance for any help.
it is possible to bind any command with KeyConfig. The context menus are partially defined in ZoteroPane.xul (https://github.com/zotero/zotero/blob/master/chrome/content/zotero/zoteroPane.xul) and partially dynamically generated in ZoteroPane.js (https://github.com/zotero/zotero/blob/master/chrome/content/zotero/zoteroPane.js). It's also useful to look at zotero.properties in chrome/locale/en-US to find the labels given to different strings used in the UI so you can find where in the code they are used and what commands are bound.
For example, searching the xul file for trash, I see that the command "ZoteroPane_Local.deleteSelectedItems(true, true);" is bound. It's been a while since I have used KeyConfig but I think you want to replace ZoteroPane_Local with ZoteroPane.
This should work in Zotero Standalone for the next year or more until Zotero switches from a Firefox engine to an Electron engine. When that happens, we will have to see what the plugin system is like and what it allows for keyboard customization.
@willshanks: Thanks, that's helpful! I'll play around with it and see what I can do.