
date created :  23 September 1982
date modified:  23 September 1982
file         :  outktbls.text
author       :  Keith Ball
Title        :  Outline for "How to Build and Install Keyboard Translation Tables"



        I.   The Keyboard and the Keycodes

                A.  How the Keyboard and Keyboard driver work
                        1.  Detachable keyboard has processor
                        2.  queues up key closures and releases
                        3.  sends keycodes describing which key is pressed
                            or released to computer
                        4.  keyboard driver is woken up each time a keycode
                            is received by the computer
                        5.  Uses translation tables to determine what to do
                            with the keycode
                        6.  Some keycodes say change how the driver generates
                            character sequences like the Shift key
                        7.  Some keycodes cause character sequences to be
                            generated
                        8.  It all depends on the tables

                B.  What are Keycodes
                        1.  Keycodes are 8 bits of data transmitted to the
                            computer by the keyboard
                        2.  Keycodes tell driver 2 things
                                a.  whether a key has been pressed (closure)
                                    or released
                                        1. high order bit set means closure
                                        2. high order bit clear means release
                                b.  which key was pressed or released
                                        1. other 7 bits of Keycode
                                c.  does not tell value of key
                        3.  The Keycode map
                                a.  map of Key positions to Keycodes
                                b.  Example Keycode map with Keys for
                                    the version 3 (Selectric like)
                                    keyboard


        II.  Description of tables

                A.  What are tables for
                        1.  used by Keyboard driver to decide what
                            to do with each keycode it receives

                B.  The Translation Pointer Table
                        1.  Table of pointers to the Translation Tables
                        2.  Must be in the following defined order :
                                a.  Shift Table
                                b.  Regular Table
                                c.  Caps Lock and Qualifier Flag Table
                                d.  Escape Sharp Character Sequence Table
                                e.  Standard Multiple Character Sequence Table
                                f.  Release Table
                                g.  Break Keycode Table

                C.  Detailed description of each table
                        1.  Shift and Regular Tables
                                a.  organization
                                        1.  Character codes
                                        2.  Special codes designating
                                            the use of the other tables
                                b.  field description
                                c.  Example for version 3 keyboard

                        2.  Standard Multiple Character Sequence Table
                                a.  description of character sequence
                                b.  How keyboard driver uses table to
                                    generate sequence
                                c.  field description
                                d.  key field is Keycode
                                e.  Example for version 3 keyboard

                        3.  Escape Sharp Character Sequence Table
                                a.  description of character sequence
                                b.  How keyboard driver uses table to
                                    generate sequence
                                c.  field description
                                d.  key field is Keycode
                                e.  Example for version 3 keyboard

                        4.  Release Table
                                a.  What is table for
                                b.  Example of Command key
                                c.  Possible negative impact on
                                    system of other release sequences
                                d.  field description
                                e.  key field is Keycode
                                f.  Example for version 3 keyboard

                        5.  Break Keycode Table
                                a.  What keycode is used for
                                b.  Does not generate character sequence
                                c.  Only 1 and make it out of the way
                                d.  field description
                                e.  Example for version 3 keyboard

                        6.  Caps Lock and Qualifier Flag Table
                                a.  Types of Qualifiers and what they do
                                        1.  Shift
                                        2.  Control
                                        3.  Caps Lock
                                        4.  Fast
                                        5.  Alternate (ALT)
                                        6.  Command
                                b.  Qualifiers that generate character
                                    sequences
                                        1.  Use of Command key
                                        2.  Why Shift, Control and
                                            Caps Lock should not
                                        3.  Possible impact on system
                                c.  organization
                                d.  field description
                                e.  Example for version 3 keyboard

        III. How to make tables

                A.  The structure of the Keyboard Translation Tables File
                        1.  ASM68K source file structure
                        2.  Keyboard Translation Tables File header
                            structure

                B.  How to create source file
                        1.  use edword to build source
                        2.  Example of version 3 keyboard source
                            file

                C.  Assembling and linking to build loadable file
                        1.  Example of command lines for assembling
                            and linking


        IV.  How to install a loadable Keyboard Translation Tables File

                A.  Using the Window Manager to load a Keyboard
                    Translation Tables File
                        1.  Press Window Manager key
                        2.  Press Load Keyboard Character Tables key
                        3.  Enter file name of loadable Keyboard
                            Translation Tables File
                        4.  Press Exit key to get back to main line

                B.  Making a Keyboard Translation Tables File the
                    system default
                        1.  put file in boot volume as CSK.DEFAULT
