; KOIKEYS.KSC - Phonetic Cyrillic keyboard layout for Kermit 95.
; 
; "By sound" mapping of Latin to Cyrillic letters from "Old KOI8" (USSR
; GOST 19768-76).  Used with Kermit 95's Russian keyboard mode to replace
; its default Russian keyboard layout.  Handy for people who touch-type
; in the Latin alphabet, or who have Latin keytops.  In each command,
; the first value is the keycode corresponding to an ASCII character;
; the second is the CP866 code for the corresponding Cyrillic letter.
; Use Ctrl-Alt-Shift-R to toggle in and out of Russian keyboard mode.
;
; Note: Although Russian keyboard mode requires CP866 encoding for
; Cyrillic characters, it can be used with any Cyrillic terminal
; character set: KOI8, Latin/Cyrillic, UTF8, etc, without changing the
; definitions.
;
; F. da Cruz, Columbia University, June 2002

set term key russian \64  \x9e  ; @ -> Yu          ; Upper case
set term key russian \65  \x80  ; A -> A           
set term key russian \66  \x81  ; B -> B           
set term key russian \67  \x96  ; C -> Tse         
set term key russian \68  \x84  ; D -> D           
set term key russian \69  \x85  ; E -> Ie          
set term key russian \70  \x94  ; F -> F           
set term key russian \71  \x83  ; G -> G           
set term key russian \72  \x95  ; H -> Ha          
set term key russian \73  \x88  ; I -> I           
set term key russian \74  \x89  ; J -> I-Kratkoye  
set term key russian \75  \x8a  ; K -> K           
set term key russian \76  \x8b  ; L -> L           
set term key russian \77  \x8c  ; M -> M           
set term key russian \78  \x8d  ; N -> N           
set term key russian \79  \x8e  ; O -> O           
set term key russian \80  \x8f  ; P -> P           
set term key russian \81  \x9f  ; Q -> Ya          
set term key russian \82  \x90  ; R -> R           
set term key russian \83  \x91  ; S -> S           
set term key russian \84  \x92  ; T -> T           
set term key russian \85  \x93  ; U -> U           
set term key russian \86  \x86  ; V -> Zh          
set term key russian \87  \x82  ; W -> V           
set term key russian \88  \x9c  ; X -> Soft sign   
set term key russian \89  \x9b  ; Y -> Yeri        
set term key russian \90  \x87  ; Z -> Z           
set term key russian \91  \x98  ; [ -> Sha         
set term key russian \92  \x9d  ; \ -> E           
set term key russian \93  \x99  ; ] -> Shcha       
set term key russian \94  \x97  ; ^ -> Cha 

set term key russian \95  \xea  ; _ -> Hard sign

set term key russian \96  \xee  ; ` -> yu        ; Lower case
set term key russian \97  \xa0  ; a -> a           
set term key russian \98  \xa1  ; b -> b           
set term key russian \99  \xe6  ; c -> tse         
set term key russian \100 \xa4  ; d -> d           
set term key russian \101 \xa5  ; e -> ie          
set term key russian \102 \xe4  ; f -> f           
set term key russian \103 \xa3  ; g -> g           
set term key russian \104 \xe5  ; h -> ha          
set term key russian \105 \xa8  ; i -> i           
set term key russian \106 \xa9  ; j -> i-kratkoye  
set term key russian \107 \xaa  ; k -> k           
set term key russian \108 \xab  ; l -> l           
set term key russian \109 \xac  ; m -> m           
set term key russian \110 \xad  ; n -> n           
set term key russian \111 \xae  ; o -> o           
set term key russian \112 \xaf  ; p -> p           
set term key russian \113 \xef  ; q -> ya          
set term key russian \114 \xe0  ; r -> r           
set term key russian \115 \xe1  ; s -> s           
set term key russian \116 \xe2  ; t -> t           
set term key russian \117 \xe3  ; u -> u           
set term key russian \118 \xa6  ; v -> zh          
set term key russian \119 \xa2  ; w -> v           
set term key russian \120 \xec  ; x -> soft sign   
set term key russian \121 \xeb  ; y -> yeri        
set term key russian \122 \xa7  ; z -> z           
set term key russian \123 \xe8  ; { -> sha         
set term key russian \124 \xed  ; | -> e           
set term key russian \125 \xe9  ; } -> shcha       
set term key russian \126 \xe7  ; ~ -> cha         

end

; The following are not mapped because they are not included in Old
; KOI8.  Feel free to assign them to any desired keys.  (Remove the the
; preceding "end" statement for the new mappings to take effect.)

set term key russian \??? \x9a  ; ? -> Uppercase hard sign
set term key russian \??? \xf0  ; ? -> Uppercase Io
set term key russian \??? \xf1  ; ? -> Lowercase io
set term key russian \??? \xf2  ; ? -> Uppercase Ukrainian Ie
set term key russian \??? \xf3  ; ? -> Lowercase Ukrainian ie
set term key russian \??? \xf4  ; ? -> Uppercase Yi
set term key russian \??? \xf5  ; ? -> Lowercase yi
set term key russian \??? \xf6  ; ? -> Uppercase Short U
set term key russian \??? \xf7  ; ? -> Lowercase short u
set term key russian \??? \xfc  ; ? -> Numero sign
