SrcEdit and Keyboard Support (External and Internal) 0.83 --------------------------------------------------- Task: #846728 (S016), by John Wilund 25 April 2004 --------------------------------------------------- With the release of version 2.4 SrcEdit, keyboard users can benefit from the same 'cursor key' functions available in many Windows editors. Sincere thanks goes to: Dale Hurtt and Fabio Di Giorgio for helping me with collecting the data, writing this document and checking the SrcEdit functionallity against it. Thanks guys! The SrcEdit keyboard support is largely about cursor key navigation. The ability to use Shift to select, Ctrl to move word by word, Cmd to larger amounts, Del to delete the character to the right, Tab to indent selected lines, Shift-Tab to unindent selected lines, etc. PLEASE OBSERVE! YOU HAVE TO CHOOSE YOUR KEYBOARD (Menu/Options/Keyboard Support) BEFORE ANY CURSOR KEY NAVIGATION IS SUPPORTED! Below is a chart of what functionality is implemented, what keys combinations you have to press, and what behaviour you should expect from SrcEdit. The goal has been to mimic (as much as possible) the behaviour of mainstream Windows editors, such as Notepad, TextPad, SourceEdit, etc. Currently Supported Keyboards ----------------------------- Supported External Keybords: : Palm Portable Keyboard (data provided by Dale Hurtt) : Palm Wireless Keyboard (data provided by Dale Hurtt) : Palm Ultra-Thin Keyboard (data provided by Fabio Di Giorgio) : Belkin Wireless Keyboard (data provided by Ken Mankoff) Not supported External Keyboards: : Palm Mini Keyboard (data will be provided by Dale Hurtt) : Stowaway Keyboard (data will be provided by David Beers) http://www.thinkoutside.com/products.asp : Pocket Keyboard http://www.cirque.com/ : Type'N'Go Keyboard http://www.fellowes.com/ : GoType! Keyboard http://www.landware.com/gotype/index.html : Logitech® TypeAway™ Portable Keyboard http://www.logitech.com/ : Logitech® KeyCase™ Cloth Keyboard http://www.logitech.com/ : TT Tech T111P - Snap'N'Type http://www.dabs.com : Wamio Wireless Universal Bluetooth Keyboard http://www.pocketbtkeyboard.com/index.php : Flexis FX100 Elastic Keyboard http://www.flexis.co.kr/flexis/main.htm : Flexis fxCUBE - Bluetooth Keyboard Supported Internal Keyboards: : Sony NX-series Internal Keyboard (data provided by Dale Hurtt, NX50 and Gary Browning, NX60) : Sony UX-series Internal Keyboard (data provided by Marcelo Alves, UX50) : Clié PEG-NR70 Internal Keyboard (data provided by Nuno Pedrosa) : Treo90 Internal Keyboard (data provided by Dale Hurtt) : Treo600 Internal Keyboard (data provided by Dale Hurtt) : AlphaSmart Dana Internal Keyboard (data provided by Dale Hurtt) Not supported Internal Keyboards: : Sony NZ-series Internal Keyboard : Sony TG-series Internal Keyboard Explanation of Abbreviations and Symbols used in this Document -------------------------------------------------------------- PPK - Palm Portable Keyboard PWK - Palm Wireless Keyboard UTK - Palm Ultra-Thin Keyboard BWK - Belkin Wireless Keyboard PMK - Palm Mini Keyboard (Not yet supported) StK - Stowaway Keyboard (Not yet supported) CPK - Pocket Keyboard (Not yet supported) TnG - Type'N'Go Keyboard (Not yet supported) GTK - Go Type! Keyboard (Not yet supported) LTA - Logitech® TypeAway™ Portable Keyboard (Not yet supported) LKC - Logitech® KeyCase™ Cloth Keyboard (Not yet supported) SnT - Snap'N'Type T111P TT Tech (Not yet supported) WBK - WAMIO Wireless Universal Bluetooth Keyboard (Not yet supported) Fx1 - Flexis FX100 Elastic Keyboard (Not yet supported) FxC - Flexis fxCUBE Bluetooth Keyboard (Not yet supported) SNX - Sony NX Internal Keyboard SUX - Sony UX Internal Keyboard C70 - Clié PEG-NR70 Internal Keyboard T90 - Treo90 Internal Keyboard TR6 - Treo600 Internal Keyboard ADK - Alphasmart Dana Keyboard Key(s) Notes SrcEdit.prc action ------------------------------------------ [Up] 1 Moves the cursor to the previous line at the same character position in the line (if possible). The view adjusts if the cursor moves off-screen. [Down] 1 Moves the cursor to the next line at the same character position in the line (if possible). The view adjusts if the cursor moves off-screen. [Left] 2 Moves the cursor one character to the left. If the cursor is at the beginning of the line, the cursor moves to the end of the previous line. The view adjusts if the cursor moves off-screen. [Right] 2 Moves the cursor one character to the right. If the cursor is at the end of the line, the cursor moves to the beginning of the next line. The view adjusts if the cursor moves off-screen. [Shift][Up] 3 Adds the preceding line to the selection if moving away from the cursor or removes the bottom line of the selection if moving towards the cursor. [Shift][Down] 3 Adds the suceeding line to the selection if moving away from the cursor or removes the top line of the selection if moving towards the cursor. [Shift][Left] 4 Adds the preceding character to the selection if moving away from the cursor or removes the last character of the selection if moving towards the cursor. [Shift][Right] 4 Adds the suceeding character to the selection if moving away from the cursor or removes the first character of the selection if moving towards the cursor. [Ctrl][Up] 5 Scrolls the view up one line (unless the top of the document is already visible). The cursor will not move unless it scrolls from view, at which time it will move to the bottommost visible line at the same character position in the line (if possible). [Ctrl][Down] 5 Scrolls the view up down line (unless the bottom of the document is already visible). The cursor will not move unless it scrolls from view, at which time it will move to the topmost visible line at the same character position in the line (if possible). [Ctrl][Left] 6 Moves the cursor to the beginning of the previous word. If the cursor is at the first word in the line, the cursor moves to the last word of the previous line. The view adjusts if the cursor moves off-screen. [Ctrl][Right] 6 Moves the cursor to the beginning of the next word. If the cursor is at the last word in the line, the cursor moves to the first word of the next line. The view adjusts if the cursor moves off-screen. [Cmd][Up] 7 Moves the cursor to before the first character of the document. The view adjusts if the cursor moves off-screen. [Cmd][Down] 7 Moves the cursor to after the last character of the document. The view adjusts if the cursor moves off-screen. [Cmd][Left] 8 Moves the cursor to the beginning of the current line. The view adjusts if the cursor moves off-screen. This is the [Home] key. [Cmd][Right] 8 Moves the cursor to the end of the current line. The view adjusts if the cursor moves off-screen. This is the [End] key. [PageUp] 9 Moves the cursor up one Page. The view adjusts so that the topmost visible line moves just off-screen to the bottom (i.e. if line 20 was the topmost visible line, after a [PageUp] line 19 would be the bottommost visible line). [PageDown] 9 Moves the cursor down one Page. The view adjusts so that the bottommost visible line moves just off-screen to the top (i.e. if line 20 was the bottommost visible line, after a [PageDown] line 21 would be the topmost visible line). [PageLeft] 10 Scrolls the Screen to the left. Does NOT move the cursor. [PageRight] 10 Scrolls the Screen to rge Right. Does NOT move the cursor. [Del] 11 Deletes the character to the right of the cursor. If the cursor is at the end of a line, this moves the contents of the following line into the current line. [Tab] 12 If there is a selection then [Tab] indents (add one tab to the beginning of each selected line), otherwise it will just insert a tab in the text. [Shift][Tab] 13 If there is a selection [Shift][Tab] will removes one tab if it is possible from the beginning of each selected line, otherwise it will move the cursor in a tab sized step towards the beginning of the line. Notes ----- 1. Works with all supported Keyboards. PPK: additional [Alt][Up/Down/Left/Right] will also work. T90: use the Scroll Up/Down TR6: use the 5way-nav. 2. T90: not supported. 3. PWK/UTK: use [blue Fn] as [Shift]. T90: use [Shift]Up/Down BWK/C70: not supported. 4. PWK/UTK: use [blue Fn] as [Shift]. BWK/C70/T90: not Supported 5. BWK/C70/T90/TR6: not supported. 6. TR6: use [Silver][Left] for [Ctrl][Left] and [Silver][Right] for [Ctrl][Right] BWK/C70/T90: not supported. 7. SNX/SUX: use [Alt] as [Cmd] C70: use [Fn] as [Cmd] BWK/T90/TR6: not supported. 8. PWK: additional [green Fn][Left][Right] can also be used for [Cmd][Left]('Home') and [Cmd][Right]('End'). UTK: use the [green Fn][Left] for [Cmd][Left}('Home') and [green Fn][Right] for [Cmd][Right]('End'). SNX/SUX: use [Alt] as [Cmd] (additional: [Fn][Left] will act as [Cmd][Left] and [Fn][Right] will act as [Cmd][Right]) BWK/C70/T90/TR6: not supported. 9. PPK/BWK/SNX/SUX/ADK: use the [Fn][Up] for PageUp and [Fn][Down] for PageDown. PWK/UTK: use [green Fn][Up] for PageUp and [green Fn][Down] for PageDown. C70: use [Ctrl][Up]for PageUp and [Ctrl][Down] for PageDown. T90: use [bLUE][Up] for PageUp and [bLUE][Down] for PageDown. TR6: use [Silver][Up] for PageUp and [Silver][Down] for PageDown. 10. UTK: use the [Cmd][Left] for PageLeft and [Cmd][Right] for PageRight. ADK: use the [Fn][Left] for PageLeft and [Fn][Right] for PageRight. PPK/BWK/PWK/SNX/SUX/C70/T90/TR6: not supported. 11. T90: use [Shift][Backspace] or [Blue][Backspace] for [Del] TR6: use [Shift][Backspace] or [Silver][Backspace] for [Del] 12. TR6: use [Center] for Tab SNX/SUX/T90: not supoorted. 13. C70: use [Ctrl][Tab] for ShiftTab TR6: use [Shift][Center] for ShiftTab BWK/SNX/SUX/T90: not supoorted.