Dvorak keyboard layout

From C64-Wiki
Jump to navigationJump to search

It is possible to use the Dvorak keyboard layout on the Commodore 64 using the VICE emulator. Use the following key mappings below:

Save the following as a .VKM file, and add it as a "Positional" layout:

# VICE keyboard mapping file
#
# Modified by Leif Bloomquist on March 23/2007 to
#   give a proper symbolic mapping on US kbds - finally!!!
#
# A Keyboard map is read in as patch to the current map.
#
# File format:
# - comment lines start with '#'
# - keyword lines start with '!keyword'
# - normal line has 'keysym/scancode row column shiftflag'
#
# Keywords and their lines are:
# '!CLEAR'               clear whole table
# '!INCLUDE filename'    read file as mapping file
# '!LSHIFT row col'      left shift keyboard row/column
# '!RSHIFT row col'      right shift keyboard row/column
# '!VSHIFT shiftkey'     virtual shift key (RSHIFT or LSHIFT)
# '!UNDEF keysym'        remove keysym from table
#
# Shiftflag can have the values:
# 0      key is not shifted for this keysym/scancode
# 1      key is shifted for this keysym/scancode
# 2      left shift
# 4      right shift
# 8      key can be shifted or not with this keysym/scancode
# 16     deshift key for this keysym/scancode
# 32     another definition for this keysym/scancode follows
#
# Negative row values:
# 'keysym -1 n' joystick #1, direction n
# 'keysym -2 n' joystick #2, direction n
# 'keysym -3 0' first RESTORE key
# 'keysym -3 1' second RESTORE key
# 'keysym -4 0' 40/80 column key
# 'keysym -4 1' CAPS (ASCII/DIN) key
#

!CLEAR
!LSHIFT 1 7
!RSHIFT 6 4
!VSHIFT RSHIFT

#0 -1 -1 0             /*           (no key)           */
1 7 7 8                /*          ESC -> Run/Stop     */
2 7 0 8                /*            1 -> 1            */
3 7 3 40               /*            2 -> 2            */
3 5 6 16               /*            @ -> @            */
4 1 0 8                /*            3 -> 3            */
5 1 3 8                /*            4 -> 4            */
6 2 0 8                /*            5 -> 5            */
7 2 3 40               /*            6 -> 6            */
7 6 6 16               /*            ^ -> ^            */
8 3 0 40               /*            7 -> 7            */
8 2 3 1                /*            & -> &            */
9 3 3 40               /*            8 -> 8            */
9 6 1 16               /*            * -> *            */
10 4 0 40              /*            9 -> 9            */
10 3 3 1               /*            ( -> (            */
11 4 3 40              /*            0 -> 0            */
11 4 0 1               /*            ) -> )            */
12 5 5 1               /*        Minus -> [            */
13 6 2 1               /*        Equal -> ]            */
14 0 0 8               /*    Backspace -> Del          */
15 7 2 8               /*          TAB -> Ctrl         */
16 3 0 33              /*            Q -> '            */
16 7 3 1               /*            Q -> "            */
17 5 7 8               /*            W -> ,            */
18 5 4 8               /*            E -> .            */
19 5 1 8               /*            R -> P            */
20 3 1 8               /*            T -> Y            */
21 2 5 8               /*            Y -> F            */
22 3 2 8               /*            U -> G            */
23 2 4 8               /*            I -> C            */
24 2 1 8               /*            O -> R            */
25 5 2 8               /*            P -> L            */
26 6 7 8               /*            [ -> /            */
27 6 5 40              /*            ] -> =            */
27 5 0 16              /*            ] -> =            */
28 0 1 8               /*       Return -> Return       */
29 7 5 8               /*    Left Ctrl -> CBM          */
30 1 2 8               /*            A -> A            */
31 4 6 8               /*            S -> S            */
32 1 6 8               /*            D -> D            */
33 3 6 8               /*            F -> F            */
34 4 1 8               /*            G -> G            */
35 2 2 8               /*            H -> H            */
36 3 5 8               /*            J -> J            */
37 2 6 8               /*            K -> K            */
38 4 7 8               /*            L -> L            */
39 1 5 8               /*            ; -> ;            */
40 5 3 8               /*            ' -> '            */
41 7 1 40              /*            ` -> Left Arrow   */
41 6 6 1               /*            ~ -> Pi           */
42 1 7 2               /*   Left Shift -> Left Shift   */
43 6 0 8               /*            \ -> Pound        */
44 6 2 40              /*            Z -> ;            */
44 5 5 16              /*            Z -> :            */
45 7 6 8               /*            X -> Q            */
46 4 2 8               /*            C -> J            */
47 4 5 8               /*            V -> K            */
48 2 7 8               /*            B -> X            */
49 3 4 8               /*            N -> B            */
50 4 4 8               /*            M -> M            */
51 1 1 8               /*            , -> W            */
52 3 7 8               /*            . -> V            */
53 1 4 8               /*            / -> Z            */
54 6 4 4               /*  Right Shift -> Right Shift  */
55 6 1 8               /*       Grey * -> *            */
#56 -1 -1 0            /*     Left Alt -> (no key)     */
57 7 4 8               /*        Space -> Space        */
58 7 7 8               /*    Caps Lock -> Run/Stop     */
59 0 4 8               /*           F1 -> F1           */
60 0 4 1               /*           F2 -> F2           */
61 0 5 8               /*           F3 -> F3           */
62 0 5 1               /*           F4 -> F4           */
63 0 6 8               /*           F5 -> F5           */
64 0 6 1               /*           F6 -> F6           */
65 0 3 8               /*           F7 -> F7           */
66 0 3 1               /*           F8 -> F8           */
#67 -1 -1 0            /*           F9 -> (no key)     */
#68 -1 -1 0            /*          F10 -> (no key)     */
#69 -1 -1 0            /*     Num Lock -> (no key)     */
#70 -1 -1 0            /*  Scroll Lock -> (no key)     */
#71 -1 -1 0            /*     Numpad 7 -> (no key)     */
#72 -1 -1 0            /*     Numpad 8 -> (no key)     */
#73 -1 -1 0            /*     Numpad 9 -> (no key)     */
#74 -1 -1 0            /*     Numpad - -> (no key)     */
#75 -1 -1 0            /*     Numpad 4 -> (no key)     */
#76 -1 -1 0            /*     Numpad 5 -> (no key)     */
#77 -1 -1 0            /*     Numpad 6 -> (no key)     */
#78 -1 -1 0            /*     Numpad + -> (no key)     */
#79 -1 -1 0            /*     Numpad 1 -> (no key)     */
#80 -1 -1 0            /*     Numpad 2 -> (no key)     */
#81 -1 -1 0            /*     Numpad 3 -> (no key)     */
#82 -1 -1 0            /*     Numpad 0 -> (no key)     */
#83 -1 -1 0            /*     Numpad . -> (no key)     */
#84 -1 -1 0            /*       SysReq -> (no key)     */
#85 -1 -1 0            /*           85 -> (no key)     */
#86 -1 -1 0            /*           86 -> (no key)     */
#87 -1 -1 0            /*          F11 -> (no key)     */
#88 -1 -1 0            /*          F12 -> (no key)     */
89 6 3 8               /*         Home -> CLR/HOME     */
90 0 7 1               /*           Up -> CRSR UP      */
#91 -1 -1 0            /*         PgUp -> (no key)     */
92 0 2 1               /*         Left -> CRSR LEFT    */
93 0 2 8               /*        Right -> CRSR RIGHT   */
#94 -1 -1 0            /*          End -> (no key)     */
95 0 7 8               /*         Down -> CRSR DOWN    */
#96 -1 -1 0            /*       PgDown -> (no key)     */
97 0 0 1               /*          Ins -> Shift-Del (Ins)*/
98 0 0 8               /*          Del -> Del          */
#99 -1 -1 0            /* Numpad Enter -> (no key)     */
#100 -1 -1 0           /*   Right Ctrl -> (no key)     */
#101 -1 -1 0           /*        Pause -> (no key)     */
#102 -1 -1 0           /*       PrtScr -> (no key)     */
#103 -1 -1 0           /*     Numpad / -> (no key)     */
#104 -1 -1 0           /*    Right Alt -> (no key)     */
#105 -1 -1 0           /*        Break -> (no key)     */
106 7 5 8              /*   Left Win95 -> CBM          */
#107 -1 -1 0           /*  Right Win95 -> (no key)     */

#
# Joystick 1
#
#KP_0 -1 0
#KP_1 -1 1
#KP_2 -1 2
#KP_3 -1 3
#KP_4 -1 4
#KP_5 -1 5
#KP_6 -1 6
#KP_7 -1 7
#KP_8 -1 8
#KP_9 -1 9

#
# Joystick 2
#
#w -2 7
#e -2 8
#r -2 9
#s -2 4
#d -2 5
#f -2 6
#x -2 1
#c -2 2
#v -2 3
#space -2 0

# Restore key mappings
91 -3 0         /*         PgUp -> RESTORE      */