Keyboard shortcut improvements #135

Closed
ajashton opened this Issue Jun 25, 2012 · 18 comments

Projects

None yet

10 participants

On Linux (and Windows?) ctrl+shift+left/right is the keyboard shortcut to select entire words at a time, a common task when editing text. But Prose blocks this for switching between reference/text/preview modes. Can we use a different key combo for this?

edit: fyi shift+left/right is for selecting single characters at a time, so it shouldn't be that either

@michael michael was assigned Jun 25, 2012
Owner
michael commented Jun 26, 2012

Mhh... yeah, tricky. I'd like to use the left-right keys but not sure what the best modifier keys might be..

maybe the triple ;) ctrl+alt+cmd+left/right..

I remember Textmate having ctrl+alt+cmd + D for showing/hiding the drawer.

I would probably avoid cmd, this can be a weird one on Linux and Windows.

Just ctrl+alt+left/right doesn't seem to be used by Chrome or Firefox for me. Is that used for anything on OS X?

Owner
michael commented Jun 26, 2012

Not really.. that could work actually.. yes.

Owner
michael commented Jul 2, 2012

@samanpwbb @lxbarth @everyone what should we do here?

ctrl+alt+left/right seems feasible to me... anyone seeing issues. Or better alternatives?

fasiha commented Jul 16, 2012

I tried control+alt+arrows without thinking and the Intel graphics driver rotated the screen 90 degrees clockwise and counter-clockwise. Apparently this feature can be disabled, but it might come as a nasty shock to some.

So, how do you feel about gutting this darling? :)

Owner
michael commented Aug 7, 2012

Okay, here's an idea. What about thinking in contexts, like vi does?

Either we're editing or navigating. We could use simple left+right keys if CodeMirror does not have the focus. To switch from edit mode to navigate mode, we could use the ESC key.

The safe flow for previewing is the sequence ESC -> right.

Being Vim based myself, I really like that idea. :) Would be interesting to see how it feels.

I'll gut my PR.

Owner
michael commented Aug 7, 2012

Hehe I'm not, but I like how contexts can simplify things. :)

Would you consider touching this? I'm pretty short on time this week. And I'm about to relocate again. Back to Austria.

I've never touched Backbone before. But maybe that's just all the more reason for me to have a look. ;)

I'll see if I can free up some time this week.

Owner
michael commented Aug 7, 2012

Everyone should have touched Backbone, at least once in a life. ;)

e-gineer commented Aug 9, 2012

A simpler approach may be to use the default browser access key (http://en.wikipedia.org/wiki/Access_keys) in combination with specific letters for each command. Specifically:

  • Alt-H / Ctrl-Opt-H : Markdown Help
  • Alt-E / Ctrl-Opt-C : Compose (*E for Edit is not safe, alternate W for Write?)
  • Alt-P / Ctrl-Opt-P : Preview (alternate V for View?)
  • Alt-M / Ctrl-Opt-M : Metadata

I was originally going to suggest Ctrl-Shift to complement Ctrl-Shift-M for Metadata, but found that Ctrl-Shift-M in Chrome is used by the browser to switch profiles when you have multiple installed. Ctrl-Shift-P also seems to be bound to Print.

Alt-E opens the tools menu on Chrome, so is not a safe choice or may work with Alt-Shift-E as per the Wikipedia table comment.

(I too love Vim, but unfortunately suspect the complexity of modes is not desirable for the prose.io user profile.)

Thank you very much for prose.io. Love the concept and the evolving implementation.

Having said that, the hijacking of my most used text-editing shortcuts, is little bit of an annoyance.

Would love to see one of the suggested changes above being implemented. Or even an option for switching them off completely, so that people like me who needs the word selection more than the preview toggle could also be using prose.io

Just giving this a bump and contributing my thoughts.

Agree with @floydpink and many others. I'm integrating prose into my workflow lately and find it very useful indeed but would love to be able to select multiple words with the keyboard, which is currently blocked by the shortcuts.

Regarding the shortcuts: I believe the ctrl+shift+[left|right] combination implies toggling through pages/content that is strongly related; like tabs (in browser) or workspaces (on desktop). Admittedly the Edit & Preview modes are related but the markdown guide...not so much. It would seem acceptable if not clearer to use access keys and have the modes associated with particular letters as suggested by @e-gineer.

@ghost
ghost commented Mar 20, 2013

So,

This is the first time I'm really offering any kind of contribution to this particular project... I've been becoming more and more interested in incorporating prose.io into a package of tools that I want to use not only in the companies I work in with others, but also to show the many students I have the opportunity to assist in learning how to do web design and software development. It is very important to me (and them, and all of you) _that we get this right_.

I've read the entire issue request here, and I would like to suggest that we simply create a way that you can setup a preference on how you would like to have your own prose key-commands work. We could provide a "scripting" type language (much like sublime text 2 does this) and provide a Windows, Mac OS X and Linux default, and perhaps default alternatives (based on browser perhaps?) and give the user a chance to modify these settings for their own setup.

I find different types of developers/designers/content copy writers all have their own shared, but unique to their style of work set of "Global" key-commands that exist in their line of work. I believe it would prove to be impossible to try and anticipate everyone's needs in this area.

Examples:

  • Front-End Designer: Photoshop, ColorChoosers, XScope (and the like), OS-Global Copy/Paste Tools, Screenshot Cloud Sharing Applications
  • Web Developer (Backend): Has his own requirements for traversing a document based on Intellisense key commands and the like. You have two main types of this Developer - Windows, and Mac OS X with Linux being somewhere in between.
  • Copywriters have their own special way of thinking about a block of text and how you should be able to search and manipulate them.
  • Not to mention the novice users. On a regular basis I introduce novice computer users to Markdown as a way to get them to write HTML5 code with only having to learn about three main characters: # - *. These people are lucky to know how to copy and paste.

I highly suggest finding a way to have some kind of "settings" file if we haven't already figured out this trick, perhaps I could just have a repository that has a special kind of name. At leaste then the settings are ease to share and update amongst users on GitHub - I could just fork a settings repository and be off and running. Maybe I would want to suggest a change to all of my students at once - I can just merge a new setting to my repository and they all get the update from watching my file. Just a few thoughts.

@tristen will know more but given the future direction of Prose the concept of deployment-specific settings/configuration will become an important aspect. Depending on the scope of this it may make sense to incuse customizable keyboard shortcuts in the configuration.

If not, it at least looks like the proposed design changes will make the ctrl-shift-left/right shortcut make even less sense and force a change :P

Owner
dhcole commented Mar 25, 2013

Also, try to avoid overriding undo shortcuts, via #280

Owner
tristen commented May 8, 2013

Closing this as the UI direction has changed.

@tristen tristen closed this May 8, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment