Difference between revisions of "Design Team/Proposals/Keyboard Action"

From Sugar Labs
Jump to navigation Jump to search
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{DesignProposal|subject=Keyboard_Action}}<!-- Keep this line -->
+
<noinclude>__TOC__<!-- START OF BLOCK -- 1. COPY & PASTE this BLOCK to below the END OF BLOCK line.
<noinclude><!-- START OF BLOCK -- 1. COPY & PASTE this BLOCK to below the END OF BLOCK line.
 
 
                                   2. PASTE it before any pre-existing proposal,
 
                                   2. PASTE it before any pre-existing proposal,
 
                                   3. then OVERWRITE the place holders with your information,
 
                                   3. then OVERWRITE the place holders with your information,
Line 6: Line 5:
 
                                   5. Click [Show preview] to check formatting, and adjust as necessary.
 
                                   5. Click [Show preview] to check formatting, and adjust as necessary.
 
                                   6. Click [Save page] to complete the edit.
 
                                   6. Click [Save page] to complete the edit.
                                                                                               -->
+
                                                                                                
==[<span class="plainlinks">[{{fullurle:index.php|title={{PAGENAMEE}}&action=edit}} edit]</span>] <Your proposal's pithy name here>== <!-- Leave the == prefix and suffix ==                                              -->
+
===<Your proposal's pithy name here>===
:'''Rationale:'''                    <!-- leave this line -->
 
:: <Your rationale here>            <!-- leave the :: prefix, overwrite the rest of this line -->
 
  
:'''Features:'''                     <!-- leave this line -->
+
:'''Rationale:'''
:# <1st feature here>                <!-- leave the :# prefix, overwrite the rest of this line -->
+
:: <Your rationale here>
:# <2nd feature here>               <!-- ditto -->
+
:'''Features:'''
 +
:# <1st feature here>
 +
:# <2nd feature here>
 +
:'''Implementation Details:'''
 +
:: <Details here>
 +
:'''Reviewer Comments:'''
 +
:: comments here (signed with: --~~~~)
 +
END OF BLOCK line
 +
Existing proposals block below:  --></noinclude>
  
:'''Implementation Details:'''      <!-- leave this line -->
+
=== [[#discoverable, consistent, lazy-programmer keyboard shortcuts|discoverable, consistent, lazy-programmer keyboard shortcuts]]===
:: <Details here>                   <!-- leave the :: prefix, overwrite the rest of this line -->
+
<noinclude>
 +
http://www.mail-archive.com/sugar-devel@lists.sugarlabs.org/msg03938.html
  
:'''Reviewer Comments:'''            <!-- leave this line -->
+
(revised 4/23/09)
:: comments here      <!-- reviewers: leave the :: prefix and overwrite up to this signature code: --~~~~
 
END OF BLOCK line --> </noinclude>
 
<!-- Pre-existing Proposal Block -->
 
  
== discoverable, consistent, lazy-programmer keyboard shortcuts ==
+
monopoly key (windows key) would be the grab key.
  
monopoly key (windows key) would be the frame key. This would also be available as ctrl-enter as a (hopefully unnecessary) backup.
+
Insert would be the frame key (mnemonic: "INSet"). This would also be available as alt-F3 or alt-monopoly as a (hopefully unnecessary) backup.
  
 
F1-F4 would be view / zoom level, as currently. Pressing F3 while already in home view would toggle view all/ring view, while pressing F4 while already in app view would cycle through open activities. If we ever get different friend sets or something, we could do something similar for F2. F9-F12 would be reserved for sugar, too - for instance, journal, context-sensitive help. F5-F8 would be for activity-specific functions. (IMO this is consistent with the XO keyboard and a fair way to divvy up this set of keys)
 
F1-F4 would be view / zoom level, as currently. Pressing F3 while already in home view would toggle view all/ring view, while pressing F4 while already in app view would cycle through open activities. If we ever get different friend sets or something, we could do something similar for F2. F9-F12 would be reserved for sugar, too - for instance, journal, context-sensitive help. F5-F8 would be for activity-specific functions. (IMO this is consistent with the XO keyboard and a fair way to divvy up this set of keys)
  
ctrl-<key> would be reserved for sugar-wide (or nearly) shortcuts. This would preseve z, x, c, v as the 1984 mac standards. ctrl-numeral would be equivalent to Fx (ie, F1). Other globally-available keys: print screen, view source, power/volume/brightness controls, shut activity (ctrl-escape), next/previous activity, possibly in the future chat-with-people-sharing-with-me-now/ bulletin board, etc. Holding down control would bring up a static cheat sheet of these shortcuts after a short delay.
+
alt-<key> would be reserved for sugar-wide (or nearly) shortcuts. <s>This would preseve z, x, c, v as the 1984 mac standards.</s> Globally-available keys: print screen, view source, power/volume/brightness controls, shut activity (alt-escape), next/previous activity (alt-tab), possibly in the future chat-with-people-sharing-with-me-now/ bulletin board, etc. Holding down alt would bring up a static cheat sheet of these shortcuts after a short delay.
  
alt-<key> would be reserved for application-specific shortcuts. alt-<numeral> would switch toolbars to toolbar x. Holding alt would immediately bring up a translucent letter over the appropriate icon in the toolbar. Python apps (at least) would get keys assigned for free, though they could do it manually with an underscore char (or similar) before the given letter. This behind-the-scenes magic would respect localization - shortcuts would change by language. Shortcuts would be available even if the given toolbar were not open. Alt shortcuts would not duplicate ctrl shortcuts, so copy, paste, undo, and exit would not have alt shortcuts.
+
ctrl-<key> would be reserved for application-specific shortcuts, including z, x, c, v. ctrl-<numeral> would switch toolbars to toolbar x. Holding ctrl would immediately bring up a translucent letter over the appropriate icon in the toolbar. Translucent letters would also flash briefly when clicking on a toolbar button, to aid discovery. Python apps (at least) would get keys assigned for free, though they could do it manually with an underscore char before the given letter ("_Print" would be p, "P_rint" would be r, "Print__o" would be o; all would display as simply "Print"). This behind-the-scenes magic would respect localization - shortcuts would change by language. Shortcuts would be available even if the given toolbar were not open. <s>Alt shortcuts would not duplicate ctrl shortcuts, so copy, paste, undo, and exit would not have alt shortcuts.</s> ctrl-shift would be the reverse action, and ctrl-alt would be modified action (such as paste and pop from clipboard instead of just paste).  
  
Both ctrl and alt would be sticky toggles which reverted to off after a user-settable amount of time, defaulting to 1 second.
+
Both ctrl and alt would be sticky toggles which reverted to off after a user-settable amount of time, defaulting to 1 second. If a global key (such as Insert or F1) was pressed while ctrl was toggled on, it would be sent to the current activity, not caught by Sugar. This would allow legacy applications which needed these keys to function.
  
 
All other keys would have their conventional meaning, except for num lock. The number pad would always be numbers, and pressing num lock would cause the machine to make a loud farting noise.
 
All other keys would have their conventional meaning, except for num lock. The number pad would always be numbers, and pressing num lock would cause the machine to make a loud farting noise.
Line 41: Line 44:
 
:'''Reviewer Comments:'''            <!-- leave this line -->
 
:'''Reviewer Comments:'''            <!-- leave this line -->
 
::http://www.mail-archive.com/iaep@lists.sugarlabs.org/msg03332.html
 
::http://www.mail-archive.com/iaep@lists.sugarlabs.org/msg03332.html
::[<span class="plainlinks">[{{fullurle:index.php|title=Talk:Design_Team/Vision/Proposals/Keyboard_Action&action=edit&section=1}} edit]</span>] [[Talk:Design_Team/Vision/Proposals/Keyboard_Action#discoverable,_consistent,_lazy-programmer_keyboard_shortcuts | comments on talk page]]
+
::[[Talk:Design_Team/Vision/Proposals/Keyboard_Action#discoverable,_consistent,_lazy-programmer_keyboard_shortcuts | comments on talk page]]
  
 
::    <!-- reviewers: leave the :: prefix and overwrite up to this signature code: --~~~~
 
::    <!-- reviewers: leave the :: prefix and overwrite up to this signature code: --~~~~
 +
-->
 +
 +
 +
==Subpages==
 +
{{Special:PrefixIndex/{{PAGENAMEE}}/}}
 +
</noinclude>

Latest revision as of 18:28, 14 February 2011

discoverable, consistent, lazy-programmer keyboard shortcuts

http://www.mail-archive.com/sugar-devel@lists.sugarlabs.org/msg03938.html

(revised 4/23/09)

monopoly key (windows key) would be the grab key.

Insert would be the frame key (mnemonic: "INSet"). This would also be available as alt-F3 or alt-monopoly as a (hopefully unnecessary) backup.

F1-F4 would be view / zoom level, as currently. Pressing F3 while already in home view would toggle view all/ring view, while pressing F4 while already in app view would cycle through open activities. If we ever get different friend sets or something, we could do something similar for F2. F9-F12 would be reserved for sugar, too - for instance, journal, context-sensitive help. F5-F8 would be for activity-specific functions. (IMO this is consistent with the XO keyboard and a fair way to divvy up this set of keys)

alt-<key> would be reserved for sugar-wide (or nearly) shortcuts. This would preseve z, x, c, v as the 1984 mac standards. Globally-available keys: print screen, view source, power/volume/brightness controls, shut activity (alt-escape), next/previous activity (alt-tab), possibly in the future chat-with-people-sharing-with-me-now/ bulletin board, etc. Holding down alt would bring up a static cheat sheet of these shortcuts after a short delay.

ctrl-<key> would be reserved for application-specific shortcuts, including z, x, c, v. ctrl-<numeral> would switch toolbars to toolbar x. Holding ctrl would immediately bring up a translucent letter over the appropriate icon in the toolbar. Translucent letters would also flash briefly when clicking on a toolbar button, to aid discovery. Python apps (at least) would get keys assigned for free, though they could do it manually with an underscore char before the given letter ("_Print" would be p, "P_rint" would be r, "Print__o" would be o; all would display as simply "Print"). This behind-the-scenes magic would respect localization - shortcuts would change by language. Shortcuts would be available even if the given toolbar were not open. Alt shortcuts would not duplicate ctrl shortcuts, so copy, paste, undo, and exit would not have alt shortcuts. ctrl-shift would be the reverse action, and ctrl-alt would be modified action (such as paste and pop from clipboard instead of just paste).

Both ctrl and alt would be sticky toggles which reverted to off after a user-settable amount of time, defaulting to 1 second. If a global key (such as Insert or F1) was pressed while ctrl was toggled on, it would be sent to the current activity, not caught by Sugar. This would allow legacy applications which needed these keys to function.

All other keys would have their conventional meaning, except for num lock. The number pad would always be numbers, and pressing num lock would cause the machine to make a loud farting noise.

proposal by Homunq 21:06, 22 March 2009 (UTC)

Reviewer Comments:
http://www.mail-archive.com/iaep@lists.sugarlabs.org/msg03332.html
comments on talk page


Subpages