1 // Montenegro keyboard mapping 2 // 3 // Initially, a copy of Serbian variants 4 // 5 6 default partial alphanumeric_keys 7 xkb_symbols "basic" { 8 include "rs(latin)" 9 name[Group1]= "Montenegrin"; 10 11 key <AD06> { [ any, any, zacute, Zacute ] }; // z 12 key <AC02> { [ any, any, sacute, Sacute ] }; // s 13 }; 14 15 partial alphanumeric_keys 16 xkb_symbols "cyrillic" { 17 include "rs(basic)" 18 name[Group1]= "Montenegrin (Cyrillic)"; 19 }; 20 21 partial alphanumeric_keys 22 xkb_symbols "cyrillicyz" { 23 include "rs(yz)" 24 name[Group1]= "Montenegrin (Cyrillic, ZE and ZHE swapped)"; 25 }; 26 27 partial alphanumeric_keys 28 xkb_symbols "latinunicode" { 29 include "rs(latinunicode)" 30 name[Group1]= "Montenegrin (Latin, Unicode)"; 31 32 key <AD06> { [ any, any, zacute, Zacute ] }; // z 33 key <AC02> { [ any, any, sacute, Sacute ] }; // s 34 }; 35 36 partial alphanumeric_keys 37 xkb_symbols "latinyz" { 38 include "rs(latinyz)" 39 name[Group1]= "Montenegrin (Latin, QWERTY)"; 40 41 key <AB02> { [ any, any, zacute, Zacute ] }; // z 42 key <AC02> { [ any, any, sacute, Sacute ] }; // s 43 }; 44 45 partial alphanumeric_keys 46 xkb_symbols "latinunicodeyz" { 47 include "rs(latinunicodeyz)" 48 name[Group1]= "Montenegrin (Latin, Unicode, QWERTY)"; 49 50 key <AB02> { [ any, any, zacute, Zacute ] }; // z 51 key <AC02> { [ any, any, sacute, Sacute ] }; // s 52 }; 53 54 xkb_symbols "cyrillicalternatequotes" { 55 include "rs(alternatequotes)" 56 name[Group1]= "Montenegrin (Cyrillic, with guillemets)"; 57 }; 58 59 xkb_symbols "latinalternatequotes" { 60 include "rs(latinalternatequotes)" 61 name[Group1]= "Montenegrin (Latin, with guillemets)"; 62 63 key <AD06> { [ any, any, zacute, Zacute ] }; // z 64 key <AC02> { [ any, any, sacute, Sacute ] }; // s 65 key <LSGT> { [ any, any, guillemotleft, guillemotright ] }; // < 66 }; 67