; 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
;
; Modified 16 October 2019 to show Cyrillic values in UTF8 in the comments.
; NOTE: You might have to tell your browser to change its encoding to UTF-8
; to see the Cyrillic characters correctly (View -> Text encoding in Firefox).

; UPPER CASE.....

set term key russian \64  \x9e  ; @ -> Ю Yu 
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 -> И-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

; lower case........

set term key russian \96  \xee  ; ` -> ю yu
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 -> и-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

; Local Variables
; Mode: Fundamental
; eval: (xxutf8)
