The Keyboard: Perhaps this Contraption Might be of Use to Drupal

Imagine this: you are viewing a node, and hit alt-e. That keystroke brings up a node edit form. Or instead of dragging blocks, taxonomy terms, and menu items, you merely hit the "down" key. I wonder, may this strange device called a "keyboard" be of use to us? Well, regardless, there's a freestanding jquery plugin that's done most of the work already. The question is: are the Drupalites FOR or AGAINST the keyboard?*

See Mike Hostetler's keynav plugin for jQuery

*Pretend I actually have a Texan accent when you read that.

Comments

I think it is a great idea.

I think it is a great idea. Admins and Editors will love this feature.

and hotkey

Yes, there is also the hotkey module which does much of this already - http://drupal.org/project/hotkey

hehe, cool. The author of

hehe, cool. The author of the module should probably revise his description No wonder I missed it. ;-).

keybindings module

Hey Nick, great point here. Internally we're using some custom jQuery code to enable dynamic actions in Drupal through keybindings. What would be best though is a module that handles a keybinding API that allows users to customize what shortcut combinations they'd like to use for any key actions that other modules have exposed. This way (1) keybindings would be centralized across modules, (2) customizable by the user and (3) potential conflicts between different modules trying to register the same bindings would be resolved.

Out of curiosity, do you know of anyone else working on this issue? I was considering spending some timeon this, as I've got a simple spec in my head. The module would have a hook that other modules could use to define their action/keybinding/js_callback preference, it would then collect those, resolve conflicts/allow user customization, and finally output the appropriate jQuery code to the page.

PS. I very much enjoy your blog

I know of none except those

I know of none except those mentioned in comments working on this issue.

The three goals you describe are it. Here's some additional detail I'd add(imho):
1. Ideally, there is a set precedence (in order of importance) 1. User preference, 2. Some module's hook_alter, 3. Core defaults. End user shall be made king in the end. All shortcuts are registered and editable in an admin menu -- like a freakin' video game.
2. Drupal settles on a keyboard namespace -- ..shift-alt is isn't used much is it?
3. When the hook fires it doesn't overwrite current shortcuts, but warns the user that the module is trying to override another module. -- this adds a healthy block to module authors getting too promiscuous in gobbling up common shortcuts.

word

1. This sounds good -- in Drupal terms it sounds like a module should be able to set a weight, so that modules that deem themselves more important than others get precedence if there is indeed a key conflict. I was thinking the keybindings could be yet another tab on the user/* page alongside their profile. This way keys could be customized on a per-user basis.

2. Another great point.

3. Another great point. Watchdog + drupal_set_message should do the trick so that developers know they're treading on another's toes.

I might sink my teeth into this next weekend. Give me a shout if i am duplicating someone else's work.

As a small note, D6

As a small note, D6 drag-n-drop has built-in keyboard support (up / down, and left / right for tree structures like menus)

Dragging in Drupal 6 already

Dragging in Drupal 6 already has keyboard support. Keyboard support for Save, Edit, Delete, Confirm etc would be nice though.

Telport Module

Have you tried the fairly recently released Teleport Module? No Drupal Admin should be without one, and I would LOVE to have more keyboard shortcuts available. The keynav plugin for JQuery seems like a great potential module, but a keyboard shortcut api might be even better...

Telport Module

Have you tried the fairly recently released Teleport Module? No Drupal Admin should be without one, and I would LOVE to have more keyboard shortcuts available. The keynav plugin for JQuery seems like a great potential module, but a keyboard shortcut api might be even better...