// // OS/2 keyboard mapping file // // The default keyboard file 'default.vkm' is read always. // Every other keyboard file in read as a patch // // comments are starting with / // // This is a scancode mapping file !KSCODE !CLEAR // the position of th left and right shift key on the cbm keyboard: // !LSHIFT row col // !RSHIFT row col // e.g. !LSHIFT 6 0 !RSHIFT 6 6 // the keyboard is mapped with the keyboard scancodes: // Xcode: row col vshift // // X # (shifted and unshifted), S (shifted), U (unshifted) // code keyboard scancode // row cbm keyboard row // col cbm keyboard column // vshift should the cbm key pressed? // 0 key is shifted if shift is pressed // 1 left shifted // 2 right shifted // 3 unshifted // e.g. // S44: 1, 7, 2 // means // If the key with the scancode 44 is pressed together with shift // the cbm emulator will receive the pressing of a key at // row 1, column 7 together with the right virtual shift key (defined by !RSHIFT) // #00: -1, -1, 0 /* (no key) */ #01: 9, 4, 0 /* ESC -> Run/Stop */ #02: 0, 0, 0 /* 1 -> ! */ #03: 1, 0, 0 /* 2 -> " */ #04: 0, 1, 0 /* 3 -> # */ #05: 1, 1, 0 /* 4 -> $ */ #06: 0, 2, 0 /* 5 -> % */ #07: 1, 2, 0 /* 6 -> ' */ #08: 0, 3, 0 /* 7 -> & */ #09: 1, 3, 0 /* 8 -> \ */ #10: 0, 4, 0 /* 9 -> ( */ #11: 1, 4, 0 /* 0 -> ) */ #12: 0, 5, 0 /* Minus -> Left arrow */ #13: -1, -1, 0 /* Equal -> (no key) */ #14: 1, 7, 0 /* Backspace -> Del */ #15: -1, -1, 0 /* TAB -> (no key) */ #16: 2, 0, 0 /* Q -> Q */ #17: 3, 0, 0 /* W -> W */ #18: 2, 1, 0 /* E -> E */ #19: 3, 1, 0 /* R -> R */ #20: 2, 2, 0 /* T -> T */ #21: 3, 2, 0 /* Y -> Y */ #22: 2, 3, 0 /* U -> U */ #23: 3, 3, 0 /* I -> I */ #24: 2, 4, 0 /* O -> O */ #25: 3, 4, 0 /* P -> P */ #26: 2, 5, 0 /* [ -> Up arrow */ #27: -1, -1, 0 /* ] -> (no key) */ #28: 6, 5, 0 /* Return -> Return */ #29: 9, 0, 0 /* Left Ctrl -> RVS ON/OFF */ #30: 4, 0, 0 /* A -> A */ #31: 5, 0, 0 /* S -> S */ #32: 4, 1, 0 /* D -> D */ #33: 5, 1, 0 /* F -> F */ #34: 4, 2, 0 /* G -> G */ #35: 5, 2, 0 /* H -> H */ #36: 4, 3, 0 /* J -> J */ #37: 5, 3, 0 /* K -> K */ #38: 4, 4, 0 /* L -> L */ #39: 5, 4, 0 /* ; -> : */ #40: -1, -1, 0 /* ' -> (no key) */ #41: -1, -1, 0 /* ` -> (no key) */ #42: 8, 0, 1 /* Left Shift -> Left Shift */ #43: -1, -1, 0 /* \ -> (no key) */ #44: 6, 0, 0 /* Z -> Z */ #45: 7, 0, 0 /* X -> X */ #46: 6, 1, 0 /* C -> C */ #47: 7, 1, 0 /* V -> V */ #48: 6, 2, 0 /* B -> B */ #49: 7, 2, 0 /* N -> N */ #50: 6, 3, 0 /* M -> M */ #51: 7, 3, 0 /* , -> , */ #52: 6, 4, 0 /* . -> ; */ #53: 7, 4, 0 /* / -> ? */ #54: 8, 5, 0 /* Right Shift -> Right Shift */ #55: 5, 7, 0 /* Grey * -> * */ #56: -1, -1, 0 /* Left Alt -> (no key) */ #57: 9, 2, 0 /* Space -> Space */ #58: 9, 4, 0 /* Caps Lock -> RUN/STOP */ #69: -1, -1, 0 /* F1 -> (no key) */ #70: -1, -1, 0 /* F2 -> (no key) */ #71: -1, -1, 0 /* F3 -> (no key) */ #72: -1, -1, 0 /* F4 -> (no key) */ #73: -1, -1, 0 /* F5 -> (no key) */ #74: -1, -1, 0 /* F6 -> (no key) */ #75: -1, -1, 0 /* F7 -> (no key) */ #76: -1, -1, 0 /* F8 -> (no key) */ #78: -1, -1, 0 /* F9 -> (no key) */ #79: -1, -1, 0 /* F10 -> (no key) */ #80: 0, 6, 0 /* Num Lock -> CLR/HOME */ #81: -1, -1, 0 /* Scroll Lock -> (no key) */ #82: 2, 6, 0 /* Numpad 7 -> 7 */ #83: 3, 6, 0 /* Numpad 8 -> 8 */ #84: 2, 7, 0 /* Numpad 9 -> 9 */ #85: 8, 7, 0 /* Numpad - -> - */ #86: 4, 6, 0 /* Numpad 4 -> 4 */ #87: 5, 6, 0 /* Numpad 5 -> 5 */ #88: 4, 7, 0 /* Numpad 6 -> 6 */ #89: 7, 7, 0 /* Numpad + -> + */ #90: 6, 6, 0 /* Numpad 1 -> 1 */ #91: 7, 6, 0 /* Numpad 2 -> 2 */ #92: 6, 7, 0 /* Numpad 3 -> 3 */ #93: 8, 6, 0 /* Numpad 0 -> 0 */ #94: 9, 6, 0 /* Numpad . -> . */ #95: -1, -1, 0 /* SysReq -> (no key) */ #96: -1, -1, 0 /* 85 -> (no key) */ #97: -1, -1, 0 /* 86 -> (no key) */ #98: -1, -1, 0 /* F11 -> (no key) */ #99: -1, -1, 0 /* F12 -> (no key) */ #100: 9, 7, 0 /* Numpad Enter -> = */ #101: 9, 4, 0 /* Right Ctrl -> RUN/STOP */ #102: -1, -1, 0 /* Pause -> (no key) */ #103: -1, -1, 0 /* PrtScr -> (no key) */ #104: 3, 7, 0 /* Numpad / -> / */ #105: -1, -1, 0 /* Right Alt -> (no key) */ #106: -1, -1, 0 /* Break -> (no key) */ #107: 9, 1, 0 /* Home -> [ */ #108: 1, 6, 1 /* Up -> CRSR UP */ #109: 8, 2, 0 /* PgUp -> ] */ #110: 0, 7, 1 /* Left -> CRSR LEFT */ #111: 0, 7, 0 /* Right -> CRSR RIGHT */ #112: 9, 3, 0 /* End -> < */ #113: 1, 6, 0 /* Down -> CRSR DOWN */ #114: 8, 4, 0 /* PgDown -> > */ #115: 8, 1, 0 /* Ins -> @ */ #116: -1, -1, 0 /* Del -> (no key) */ #117: -1, -1, 0 /* Left Win95 -> (no key) */ #118: -1, -1, 0 /* Right Win95 -> (no key) */