KC documentation (by Ken Silverman)

KC was never intended to be easy to use. I wrote it for myself. Most of the
keys are modelled after QC, a variant of the DOS editor (EDIT), which was my
main editor at the time. I've been using KC as my primary editor ever since
I wrote it in 1995.

-Ken S.
------------------------------------------------------------------------------
Brief list of controls:

Navigation:
* Alt+F -> File dialog. Keys: N,O,S,Shift+S (save all tabs as spaces),A,X,ESC
* Alt+S -> Search dialog. Keys: F,C,ESC
* Change dialog keys: Y/Enter,N,ESC,A=All
* Hold down the right mouse button (and move mouse) for smooth scrolling.

Other useful keys:
* F1: Show quick help.
* F2: Load previous file. Good for file compare. (Careful: doesn't ask to save
      current file!)
* F3/Alt+F3: Find next, previous
* F4: Minimize
* F5: Compile. Depending on file extension, it spawns either "nmake [current
      file]" or "javac [file]". If the exit code is 0, it tries to run the
      file. Otherwise, it pops up an error dialog. At the error diaog, use
      Up/Down/Enter(=jump to line)/ESC
* Ctrl+Y: Delete line
* Ctrl+=: Evaluate highlighted text. Use box highlight mode (see below for
      how to box highlight) to evaluate many rows - like a spreadsheet!

Other features:
* Shift Tab, Tab: Move highlighted text left/right.
* Alt+[, Alt+]: Move highlighted text left/right if there's enough space for
     all lines.
* Alt+G: Goto line dialog. Note: cursor position is displayed in bottom-right
       corner when not scrolling. It's dark on purpose!
* Alt+J: Toggle show line length. Alt+J again to exit show line length mode.
* Alt+K: Show silly font (I was bored one day :) Alt+K again to exit silly
     font mode.
* Alt+L: Line draw dialog. Keys: 1,2,3,4,ESC, then use arrows. Alt+L again to
       exit line drawing mode.
* Alt+(type 3 numbers on the keypad): Enter any ASCII character
     (range 32-255).
* If you hold shift while pressing C or F to enter the Find or Change dialog,
     KC will match whole word and case on all future searches or F3/Alt+F3.
* Click the right mouse button while highlighting with mouse to toggle between
     standard highlight and box highlight mode.
* There are 2 clipboard buffers for copy&paste in KC. They each have their own
     dedicated keys:
   1. Ctrl+C, Ctrl+V: Uses windows clipboard
   2. Ctrl+Ins, Shift+Ins: Uses internal buffer. (Careful: contents are lost
      at program exit!)

------------------------------------------------------------------------------
KC history:

08/1?/1995: I wrote KC for DOS at the Apogee office. It was a 2-3 day project
            and well worth the effort. I was running out of memory in QC - my
            current editor at the time. It's no coincidence that I split the
            Build documentation (BUILD.TXT and BUILD2.TXT) in August of 1995.
            I looked at other editors, but none had keys that I liked. So I
            decided to write my own text editor. The initial version of KC was
            written in 32-bit Watcom C. It used 80x25 mode just like QC. Just
            for fun, I added smooth scrolling (in text mode) via the hardware
            registers. :)

[important milestones from 1995-2000 missing]

07/06/1999: Fixed bug with change all.
09/10/2000: Fixed bug with change all (another one apparently).
12/25/2001: Added (Shift+)Tab (for highlighted text), Ctrl+Up/Down.
01/05/2002: Shift+Tab now compacts columns (different from Alt+'[').
08/08/2002: Started Windows port. Got most things working except keys.
08/10/2002: Optimized drawscreen in assembler and smoothed mouse code.
08/11/2002: Fully implemented LINEDRAW and GOTO dialogs.
08/12/2002: Finished port to windows; DOS version now obsolete.
08/16/2002: Fixed bugs on WinXP.
08/21/2002: Added Windows clipboard support using Ctrl+C/V.
08/29/2002: Added support for 16-bit color; implemented F4 key.
09/25/2002: Fixed F2 and added ALT+KP#'s (ASCII code 32-255 input).
09/26/2002: Added F6 (Exclusive mouse acquire) (and since removed).
09/27/2002: Added support for 24-bit color.
10/08/2002: Added KC.EXE (Win32 version) to website.
12/11/2002: Added support for 8-bit color.
03/09/2003: Fixed bugs with search dialogs, and added Ctrl+Up/Down.
07/26/2003: Added compile error dialog (See F5 key description).
02/08/2004: Added box highlighting.
02/15/2004: Fixed bug with copy for box highlighting.
07/26/2004: Fixed bugs with clipboard.
11/07/2004: Did thread priority for F5; Fixed bug when using F2 & F5.
12/16/2004: Fixed F5 fullscreen bug with DirectDraw.
01/14/2005: Added JAVAC & APPLETVIEWER support to F5 compiling.
01/17/2005: Fixed issues with F5 so it now works on Win98 & Win2K.
09/22/2005: Reduced CPU load significantly by using "smart" sleep when idle.
04/01/2006: Wrote & released KC_GUIDE.TXT.
01/13/2008: Integrate EVAL compiler: highlight text and press Ctrl+Enter.
11/20/2009: Can now evaluate multiple lines of independent calculations:
               Highlight text, press right mouse button, then Ctrl+Enter.
04/10/2010: Fix issues with GCC error dialog.
05/15/2010: Released source code. Note: code intended for M$ Visual C/C++ 6.0.
05/31/2011: Add match whole word&case to find/change: press Shift+C/Shift+F.
03/22/2012: Fix rare bug with Shift+F/Shift+C at beginning of line.
10/24/2012: Replace windows layer with cwinmain.c, fixing some mouse issues.
12/26/2020: Add F1 quick help dialog (inspired by Giorgos Vougioukas)
            Set title bar text with current filename and '*' if changed.
               (inspired by Giorgos Vougioukas)
            Show FPS at bottom-left.
            Show exact mouse position as white dot inside red chararcter cell.
            Add proper documentation for Ctrl+= (evalulate expression).
            Add support for Raspberry Pi (2016) - get source code to compile.
------------------------------------------------------------------------------
