• You are not logged in.

    Russian layout for natives

    • Started by martian
    • 20 Replies:
    • Reputation: 0
    • Registered: 17-Aug-2020
    • Posts: 16

    Firstly, we should delineate: if you need Russian rarely, then you go with Rulemak and don't fool around, because it's easier to learn and you don't really care about it being ergonomic. But for people like me, who type in Russian more than they do in English, its similarity to Colemak is irrevelant. I want Russian Colemak — not in the way it's phonetically similar to Colemak, but in the way it's ergonomic at the same level. ЙЦУКЕН maybe not that bad as QWERTY, but it hurts my index fingers a lot. So here I announce the search for ergonomic Russian layout. There are 3 options I can think about:

    1. Using some keygen like Carpalx (here is an alternative written in Rust by Tretygon). It seems promising because we are not professionals and we won't create Colemak in world of Russian, but with help of software like this it may be possible. Though it's not a perfect solution. Personally I like Colemak more than QGMLWY, even though according to Carpalx it should be 9,3% better than Colemak.
      2. There is an alternative Russian layout called Diktor. Worth a try. (ъ is shift+ь)
      dd77935e6b65b5b49aad609da43157db.jpg
      3. u/yurikhan proposed using adopted Bulgarian layout, e.g.:

      э , у е и ц   ч к с д з ш
      ъ Ь Я А О ж   г Т Н В М щ
        ю й ы ё ф   х п р л б
    Offline
    • 0
    • Reputation: 0
    • Registered: 17-Aug-2020
    • Posts: 16

    I read a lot of pretty things about Diktor, it's a nice layout. The only thing I would do, since we have both comma and period, is to make their position like in Colemak. Maybe just to swap:

    ц ь я п г    з в к д ч ш щ
    у и е о а    л н т с р й
    ф э х ы ю    б м , . ж
    Offline
    • 0
    • Reputation: 210
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,341

    Of course CarpalX layouts look good to CarpalX. This is what we in my country call "letting the billy goat watch the sack of oats".  /(⁎≧∇≦)\

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 1
    • Reputation: 0
    • Registered: 17-Aug-2020
    • Posts: 16

    No, I think swapping is a bad idea, it messes the balance too much. Common digram «па» becomes one-fingered. Gotta accept punctuation in a Dvorak style, not that bad actually.
    Also have to shuffle right pinkie letters a little since I want to use wide mode here (and angle too). So something like this (щ is option + ш):

    ц ь я , .    з в к д й ч ш
    у и е о а    л н т с р
    ф э х ы ю    б м п г ж

    Because й is more common than ч and ш.

    Maybe also to implement the Curl mode? People who created Diktor thought that lateral & home row is better than lateral & bottom row, but we know this is not true. So I'll also swap a and ю, л and б to get this:

    ц ь я , .    з в к д й ч ш
    у и е о ю    б н т с р
    ф э х ы а    л м п г ж

    Ladies and Gentlemen, here you can see the Diktor-CAW! I can't stop. Why do I have to create something unique every time?

    Last edited by martian (18-Aug-2020 14:39:24)
    Offline
    • 0
    • Reputation: 23
    • From: Belgium
    • Registered: 26-Feb-2008
    • Posts: 480
    martian said:

    But for people like me, who type in Russian more than they do in English, its similarity to Colemak is irrevelant.

    Nevertheless you will still frequently use the Latin script for URL's, e-mail addresses, foreign (brand) names, etc.  So you will still benefit from having a similar or otherwise easy to learn Latin layout.

    I imagine it must be a pain for most Russians to learn and use both йцукен and qwerty?

    Last edited by ghen (18-Aug-2020 19:23:38)
    Offline
    • 0
    • Reputation: 0
    • Registered: 17-Aug-2020
    • Posts: 16
    ghen said:

    Nevertheless you will still frequently use the Latin script for URL's, e-mail addresses, foreign (brand) names, etc.  So you will still benefit from having a similar or otherwise easy to learn Latin layout.

    Of course you can't live without an English layout, haha. I agree that using Rulemak would be much easier, but I simply can't. I truly respect and understand your desire to unite different languages under Colemak, but for languages that are too different from English it's not possible, only with cost of less comfortable layout, which, I think, goes against reasons the Colemak was created. We need some middle ground — not to create a new layout for every language, but also not to create bad layouts with only goal to be equal to Colemak. I'll happily use Colemak for German, but for frequent typing in Russian & Ukrainian it's inappropriate. Though I'm open to change my mind, if someone could compare Rulemak with йцукен and Diktor, like it's done here.

    ghen said:

    I imagine it must be a pain for Russians to learn and use both йцукен and qwerty.

    Being bilingual (or even trilingual in Ukraine) is already not easy, so having to use different layouts doesn't make a big difference, haha.

    Offline
    • 0
    • Reputation: 23
    • From: Belgium
    • Registered: 26-Feb-2008
    • Posts: 480

    There are some positive Rulemak experiences from native Russian and Bulgarian speakers on this forum, for example here.  Of course each of them made their own tweaks, but the general concept of a Colemak-based Cyrillic layout was considered valuable, and definitely an improvement over ЙЦУКЕН.

    You know, the most frequent letters are largely the same for many Indo-European languages, so at least the Colemak-transliterated home row АРСТ НЕИО (or НЕІО) should be a good starting point for a Russian/Ukrainian layout.

    Last edited by ghen (18-Aug-2020 21:09:58)
    Offline
    • 1
    • Reputation: 0
    • Registered: 17-Aug-2020
    • Posts: 16

    Now this is interesting. I spent some time to get 15 wpm with Diktor, but it seems I'll have to switch again. Gonna create my own Rulemak++, will write to that topic from now on. Any way to close this topic?

    Offline
    • 0
    • Reputation: 21
    • From: Chicago
    • Registered: 27-Apr-2016
    • Posts: 221

    So, any progress with Rulemak++ ? Do you use Diktor or Rulemak now?
    I have to admit, I'm still not quite sure which is the right way to go, despite my praise to Rulemak 5 years ago, I still do not proficient with it because nowadays I do not type Russian enough, mostly using my phone with on-screen keyboard to do that.

    Offline
    • 0
    • Reputation: 0
    • Registered: 10-May-2022
    • Posts: 1

    I compared various variants of the Russian keyboard layout using the patorjk/SteveP analyzer: standard ЙЦУКЕН; the same, but in ЫВАМ ТОЛД fingering; ЫВАМ ТОЛД 2.0 layout; phonetic Colemak / Colemak Mod-DH and Diktor. The “phonetic Colemak” is very good: much better then ЙЦУКЕН!

    colemak_phonetic.png

    ЙЦУКЕН source

    Spoiler:

    {
        "label": "ЙЦУКЕН",
        "fingerStart": {
            "1": 29,
            "2": 30,
            "3": 31,
            "4": 32,
            "5": 56,
            "6": 56,
            "7": 35,
            "8": 36,
            "9": 37,
            "10": 38,
            "11": 56,
            "false": -1
        },
        "keyboardType": "standard",
        "author": "George B.",
        "authorUrl": "",
        "moreInfoUrl": "",
        "moreInfoText": "None",
        "keys": [
            {
                "primary": 1105,
                "shift": 1025,
                "finger": 1,
                "id": 0,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 49,
                "shift": 33,
                "finger": 1,
                "id": 1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 50,
                "shift": 34,
                "finger": 2,
                "id": 2,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 51,
                "shift": 8470,
                "finger": 3,
                "id": 3,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 52,
                "shift": 59,
                "finger": 4,
                "id": 4,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 53,
                "shift": 37,
                "finger": 4,
                "id": 5,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 54,
                "shift": 58,
                "finger": 7,
                "id": 6,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 55,
                "shift": 63,
                "finger": 7,
                "id": 7,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 56,
                "shift": 42,
                "finger": 8,
                "id": 8,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 57,
                "shift": 40,
                "finger": 8,
                "id": 9,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 48,
                "shift": 41,
                "finger": 9,
                "id": 10,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 45,
                "shift": 95,
                "finger": 10,
                "id": 11,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 61,
                "shift": 43,
                "finger": 10,
                "id": 12,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 8,
                "finger": 10,
                "id": 13,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 9,
                "finger": 1,
                "id": 14
            },
            {
                "primary": 1081,
                "shift": 1049,
                "finger": 1,
                "id": 15,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1094,
                "shift": 1062,
                "finger": 2,
                "id": 16,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1091,
                "shift": 1059,
                "finger": 3,
                "id": 17,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1082,
                "shift": 1050,
                "finger": 4,
                "id": 18,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1077,
                "shift": 1045,
                "finger": 4,
                "id": 19,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1085,
                "shift": 1053,
                "finger": 7,
                "id": 20,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1075,
                "shift": 1043,
                "finger": 7,
                "id": 21,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1096,
                "shift": 1064,
                "finger": 8,
                "id": 22,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1097,
                "shift": 1065,
                "finger": 9,
                "id": 23,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1079,
                "shift": 1047,
                "finger": 10,
                "id": 24,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1093,
                "shift": 1061,
                "finger": 10,
                "id": 25,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1098,
                "shift": 1066,
                "finger": 10,
                "id": 26,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 92,
                "shift": 47,
                "finger": 10,
                "id": 27,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 20,
                "finger": 1,
                "id": 28,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1092,
                "shift": 1060,
                "finger": 1,
                "id": 29,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1099,
                "shift": 1067,
                "finger": 2,
                "id": 30,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1074,
                "shift": 1042,
                "finger": 3,
                "id": 31,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1072,
                "shift": 1040,
                "finger": 4,
                "id": 32,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1087,
                "shift": 1055,
                "finger": 4,
                "id": 33,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1088,
                "shift": 1056,
                "finger": 7,
                "id": 34,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1086,
                "shift": 1054,
                "finger": 7,
                "id": 35,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1083,
                "shift": 1051,
                "finger": 8,
                "id": 36,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1076,
                "shift": 1044,
                "finger": 9,
                "id": 37,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1078,
                "shift": 1046,
                "finger": 10,
                "id": 38,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1101,
                "shift": 1069,
                "finger": 10,
                "id": 39,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 13,
                "finger": 10,
                "id": 40
            },
            {
                "primary": 16,
                "finger": 1,
                "id": 41
            },
            {
                "primary": 1103,
                "shift": 1071,
                "finger": 2,
                "id": 42,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1095,
                "shift": 1063,
                "finger": 3,
                "id": 43,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1089,
                "shift": 1057,
                "finger": 4,
                "id": 44,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1084,
                "shift": 1052,
                "finger": 4,
                "id": 45,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1080,
                "shift": 1048,
                "finger": 4,
                "id": 46,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1090,
                "shift": 1058,
                "finger": 7,
                "id": 47,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1100,
                "shift": 1068,
                "finger": 7,
                "id": 48,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1073,
                "shift": 1041,
                "finger": 8,
                "id": 49,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1102,
                "shift": 1070,
                "finger": 9,
                "id": 50,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 46,
                "shift": 44,
                "finger": 10,
                "id": 51,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": -16,
                "finger": 10,
                "id": 52
            },
            {
                "primary": 17,
                "finger": 5,
                "id": 53
            },
            {
                "primary": -91,
                "finger": 5,
                "id": 54
            },
            {
                "primary": 18,
                "finger": 5,
                "id": 55
            },
            {
                "primary": 32,
                "finger": 5,
                "id": 56
            },
            {
                "primary": -18,
                "finger": 6,
                "id": 57
            },
            {
                "primary": -91,
                "finger": 6,
                "id": 58
            },
            {
                "primary": -93,
                "finger": 6,
                "id": 59,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 17,
                "finger": 6,
                "id": 60
            }
        ]
    }

    ЫВАМ ТОЛД source

    Spoiler:

    {
        "label": "ЫВАМ ТОЛД",
        "fingerStart": {
            "1": 30,
            "2": 31,
            "3": 32,
            "4": 45,
            "5": 56,
            "6": 56,
            "7": 47,
            "8": 35,
            "9": 36,
            "10": 37,
            "11": 56,
            "false": -1
        },
        "keyboardType": "standard",
        "author": "Spray",
        "authorUrl": "",
        "moreInfoUrl": "",
        "moreInfoText": "None",
        "keys": [
            {
                "primary": 1105,
                "shift": 1025,
                "finger": 1,
                "id": 0,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 49,
                "shift": 33,
                "finger": 1,
                "id": 1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 50,
                "shift": 34,
                "finger": 1,
                "id": 2,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 51,
                "shift": 8470,
                "finger": 2,
                "id": 3,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 52,
                "shift": 59,
                "finger": 3,
                "id": 4,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 53,
                "shift": 37,
                "finger": 4,
                "id": 5,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 54,
                "shift": 58,
                "finger": 4,
                "id": 6,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 55,
                "shift": 63,
                "finger": 8,
                "id": 7,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 56,
                "shift": 42,
                "finger": 8,
                "id": 8,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 57,
                "shift": 40,
                "finger": 9,
                "id": 9,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 48,
                "shift": 41,
                "finger": 10,
                "id": 10,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 45,
                "shift": 95,
                "finger": 10,
                "id": 11,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 61,
                "shift": 43,
                "finger": 10,
                "id": 12,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 8,
                "finger": 10,
                "id": 13,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 9,
                "finger": 1,
                "id": 14
            },
            {
                "primary": 1081,
                "shift": 1049,
                "finger": 1,
                "id": 15,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1094,
                "shift": 1062,
                "finger": 1,
                "id": 16,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1091,
                "shift": 1059,
                "finger": 2,
                "id": 17,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1082,
                "shift": 1050,
                "finger": 3,
                "id": 18,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1077,
                "shift": 1045,
                "finger": 4,
                "id": 19,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1085,
                "shift": 1053,
                "finger": 7,
                "id": 20,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1075,
                "shift": 1043,
                "finger": 8,
                "id": 21,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1096,
                "shift": 1064,
                "finger": 9,
                "id": 22,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1097,
                "shift": 1065,
                "finger": 10,
                "id": 23,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1079,
                "shift": 1047,
                "finger": 10,
                "id": 24,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1093,
                "shift": 1061,
                "finger": 10,
                "id": 25,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1098,
                "shift": 1066,
                "finger": 10,
                "id": 26,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 47,
                "shift": 92,
                "finger": 10,
                "id": 27,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 20,
                "finger": 1,
                "id": 28,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1092,
                "shift": 1060,
                "finger": 1,
                "id": 29,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1099,
                "shift": 1067,
                "finger": 1,
                "id": 30,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1074,
                "shift": 1042,
                "finger": 2,
                "id": 31,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1072,
                "shift": 1040,
                "finger": 3,
                "id": 32,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1087,
                "shift": 1055,
                "finger": 4,
                "id": 33,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1088,
                "shift": 1056,
                "finger": 7,
                "id": 34,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1086,
                "shift": 1054,
                "finger": 8,
                "id": 35,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1083,
                "shift": 1051,
                "finger": 9,
                "id": 36,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1076,
                "shift": 1044,
                "finger": 10,
                "id": 37,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1078,
                "shift": 1046,
                "finger": 10,
                "id": 38,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1101,
                "shift": 1069,
                "finger": 10,
                "id": 39,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 13,
                "finger": 10,
                "id": 40
            },
            {
                "primary": 16,
                "finger": 1,
                "id": 41
            },
            {
                "primary": 1103,
                "shift": 1071,
                "finger": 1,
                "id": 42,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1095,
                "shift": 1063,
                "finger": 2,
                "id": 43,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1089,
                "shift": 1057,
                "finger": 3,
                "id": 44,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1084,
                "shift": 1052,
                "finger": 4,
                "id": 45,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1080,
                "shift": 1048,
                "finger": 4,
                "id": 46,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1090,
                "shift": 1058,
                "finger": 7,
                "id": 47,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1100,
                "shift": 1068,
                "finger": 8,
                "id": 48,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1073,
                "shift": 1041,
                "finger": 9,
                "id": 49,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1102,
                "shift": 1070,
                "finger": 10,
                "id": 50,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 46,
                "shift": 44,
                "finger": 10,
                "id": 51,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": -16,
                "finger": 10,
                "id": 52
            },
            {
                "primary": 17,
                "finger": 5,
                "id": 53
            },
            {
                "primary": -91,
                "finger": 5,
                "id": 54
            },
            {
                "primary": 18,
                "finger": 5,
                "id": 55
            },
            {
                "primary": 32,
                "finger": 5,
                "id": 56
            },
            {
                "primary": -18,
                "finger": 6,
                "id": 57
            },
            {
                "primary": -91,
                "finger": 6,
                "id": 58
            },
            {
                "primary": -93,
                "finger": 6,
                "id": 59,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 17,
                "finger": 6,
                "id": 60
            }
        ]
    }

    ЫВАМ ТОЛД 2.0 source

    Spoiler:

    {
        "label": "ЫВАМ ТОЛД 2.0",
        "fingerStart": {
            "1": 29,
            "2": 30,
            "3": 31,
            "4": 32,
            "5": 56,
            "6": 56,
            "7": 35,
            "8": 36,
            "9": 37,
            "10": 38,
            "11": 56,
            "false": -1
        },
        "keyboardType": "standard",
        "author": "Spray",
        "authorUrl": "",
        "moreInfoUrl": "",
        "moreInfoText": "None",
        "keys": [
            {
                "primary": 96,
                "shift": 126,
                "finger": 1,
                "id": 0,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 33,
                "shift": 124,
                "finger": 1,
                "id": 1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 34,
                "shift": 171,
                "finger": 1,
                "id": 2,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 8470,
                "shift": 187,
                "finger": 2,
                "id": 3,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 59,
                "shift": 36,
                "finger": 3,
                "id": 4,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1101,
                "shift": 1069,
                "finger": 3,
                "id": 5,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 58,
                "shift": 37,
                "finger": 4,
                "id": 6,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 63,
                "shift": 38,
                "finger": 7,
                "id": 7,
                "altGr": 55,
                "shiftAltGr": -1
            },
            {
                "primary": 42,
                "shift": 8230,
                "finger": 8,
                "id": 8,
                "altGr": 56,
                "shiftAltGr": -1
            },
            {
                "primary": 40,
                "shift": 91,
                "finger": 8,
                "id": 9,
                "altGr": 57,
                "shiftAltGr": -1
            },
            {
                "primary": 41,
                "shift": 93,
                "finger": 9,
                "id": 10,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 45,
                "shift": 1065,
                "finger": 10,
                "id": 11,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 61,
                "shift": 43,
                "finger": 10,
                "id": 12,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 8,
                "finger": 10,
                "id": 13,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 9,
                "finger": 1,
                "id": 14
            },
            {
                "primary": 1094,
                "shift": 1062,
                "finger": 1,
                "id": 15,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1091,
                "shift": 1059,
                "finger": 1,
                "id": 16,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1082,
                "shift": 1050,
                "finger": 2,
                "id": 17,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1077,
                "shift": 1045,
                "finger": 3,
                "id": 18,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1075,
                "shift": 1043,
                "finger": 4,
                "id": 19,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1092,
                "shift": 1060,
                "finger": 7,
                "id": 20,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1081,
                "shift": 1049,
                "finger": 7,
                "id": 21,
                "altGr": 52,
                "shiftAltGr": -1
            },
            {
                "primary": 1100,
                "shift": 1098,
                "finger": 8,
                "id": 22,
                "altGr": 53,
                "shiftAltGr": -1
            },
            {
                "primary": 1073,
                "shift": 1041,
                "finger": 9,
                "id": 23,
                "altGr": 54,
                "shiftAltGr": -1
            },
            {
                "primary": 8212,
                "shift": 1097,
                "finger": 10,
                "id": 24,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1079,
                "shift": 1047,
                "finger": 10,
                "id": 25,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1093,
                "shift": 1061,
                "finger": 10,
                "id": 26,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 47,
                "shift": 92,
                "finger": 10,
                "id": 27,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 20,
                "finger": 1,
                "id": 28,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1099,
                "shift": 1067,
                "finger": 1,
                "id": 29,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1074,
                "shift": 1042,
                "finger": 2,
                "id": 30,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1072,
                "shift": 1040,
                "finger": 3,
                "id": 31,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1087,
                "shift": 1055,
                "finger": 4,
                "id": 32,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1105,
                "shift": 1025,
                "finger": 4,
                "id": 33,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1096,
                "shift": 1064,
                "finger": 7,
                "id": 34,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1085,
                "shift": 1053,
                "finger": 7,
                "id": 35,
                "altGr": 49,
                "shiftAltGr": -1
            },
            {
                "primary": 1086,
                "shift": 1054,
                "finger": 8,
                "id": 36,
                "altGr": 50,
                "shiftAltGr": -1
            },
            {
                "primary": 1083,
                "shift": 1051,
                "finger": 9,
                "id": 37,
                "altGr": 51,
                "shiftAltGr": -1
            },
            {
                "primary": 1076,
                "shift": 1044,
                "finger": 10,
                "id": 38,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1078,
                "shift": 1046,
                "finger": 10,
                "id": 39,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 13,
                "finger": 10,
                "id": 40
            },
            {
                "primary": 16,
                "finger": 1,
                "id": 41
            },
            {
                "primary": 1095,
                "shift": 1063,
                "finger": 2,
                "id": 42,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1089,
                "shift": 1057,
                "finger": 3,
                "id": 43,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1084,
                "shift": 1052,
                "finger": 4,
                "id": 44,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1080,
                "shift": 1048,
                "finger": 4,
                "id": 45,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1103,
                "shift": 1071,
                "finger": 4,
                "id": 46,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1088,
                "shift": 1056,
                "finger": 7,
                "id": 47,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1090,
                "shift": 1058,
                "finger": 7,
                "id": 48,
                "altGr": 48,
                "shiftAltGr": -1
            },
            {
                "primary": 44,
                "shift": 60,
                "finger": 8,
                "id": 49,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 46,
                "shift": 62,
                "finger": 9,
                "id": 50,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1102,
                "shift": 1070,
                "finger": 10,
                "id": 51,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": -16,
                "finger": 10,
                "id": 52
            },
            {
                "primary": 17,
                "finger": 5,
                "id": 53
            },
            {
                "primary": -91,
                "finger": 5,
                "id": 54
            },
            {
                "primary": 18,
                "finger": 5,
                "id": 55
            },
            {
                "primary": 32,
                "finger": 5,
                "id": 56
            },
            {
                "primary": -18,
                "finger": 6,
                "id": 57
            },
            {
                "primary": -91,
                "finger": 6,
                "id": 58
            },
            {
                "primary": -93,
                "finger": 6,
                "id": 59,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 17,
                "finger": 6,
                "id": 60
            }
        ]
    }

    Диктор source

    Spoiler:

    {
        "label": "Диктор",
        "fingerStart": {
            "1": 29,
            "2": 30,
            "3": 31,
            "4": 32,
            "5": 56,
            "6": 56,
            "7": 35,
            "8": 36,
            "9": 37,
            "10": 38,
            "11": 56,
            "false": -1
        },
        "keyboardType": "standard",
        "author": "Spray",
        "authorUrl": "",
        "moreInfoUrl": "",
        "moreInfoText": "None",
        "keys": [
            {
                "primary": 1105,
                "shift": 1025,
                "finger": 1,
                "id": 0,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 49,
                "shift": 1066,
                "finger": 1,
                "id": 1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 50,
                "shift": 1068,
                "finger": 1,
                "id": 2,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 51,
                "shift": 8470,
                "finger": 2,
                "id": 3,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 52,
                "shift": 37,
                "finger": 3,
                "id": 4,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 53,
                "shift": 58,
                "finger": 4,
                "id": 5,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 54,
                "shift": 59,
                "finger": 4,
                "id": 6,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 55,
                "shift": 45,
                "finger": 7,
                "id": 7,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 56,
                "shift": 34,
                "finger": 7,
                "id": 8,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 57,
                "shift": 40,
                "finger": 8,
                "id": 9,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 48,
                "shift": 41,
                "finger": 9,
                "id": 10,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 42,
                "shift": 95,
                "finger": 10,
                "id": 11,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 61,
                "shift": 43,
                "finger": 10,
                "id": 12,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 8,
                "finger": 10,
                "id": 13,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 9,
                "finger": 1,
                "id": 14
            },
            {
                "primary": 1094,
                "shift": 1062,
                "finger": 1,
                "id": 15,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1100,
                "shift": 1098,
                "finger": 2,
                "id": 16,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1103,
                "shift": 1071,
                "finger": 3,
                "id": 17,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 44,
                "shift": 63,
                "finger": 4,
                "id": 18,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 46,
                "shift": 33,
                "finger": 4,
                "id": 19,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1079,
                "shift": 1047,
                "finger": 7,
                "id": 20,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1074,
                "shift": 1042,
                "finger": 7,
                "id": 21,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1082,
                "shift": 1050,
                "finger": 8,
                "id": 22,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1076,
                "shift": 1044,
                "finger": 9,
                "id": 23,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1095,
                "shift": 1063,
                "finger": 10,
                "id": 24,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1096,
                "shift": 1064,
                "finger": 10,
                "id": 25,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1097,
                "shift": 1065,
                "finger": 10,
                "id": 26,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 47,
                "shift": 92,
                "finger": 10,
                "id": 27,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 20,
                "finger": 1,
                "id": 28,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1091,
                "shift": 1059,
                "finger": 1,
                "id": 29,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1080,
                "shift": 1048,
                "finger": 2,
                "id": 30,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1077,
                "shift": 1045,
                "finger": 3,
                "id": 31,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1086,
                "shift": 1054,
                "finger": 4,
                "id": 32,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1072,
                "shift": 1040,
                "finger": 4,
                "id": 33,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1083,
                "shift": 1051,
                "finger": 7,
                "id": 34,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1085,
                "shift": 1053,
                "finger": 7,
                "id": 35,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1090,
                "shift": 1058,
                "finger": 8,
                "id": 36,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1089,
                "shift": 1057,
                "finger": 9,
                "id": 37,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1088,
                "shift": 1056,
                "finger": 10,
                "id": 38,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1081,
                "shift": 1049,
                "finger": 10,
                "id": 39,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 13,
                "finger": 10,
                "id": 40
            },
            {
                "primary": 16,
                "finger": 1,
                "id": 41
            },
            {
                "primary": 1092,
                "shift": 1060,
                "finger": 1,
                "id": 42,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1101,
                "shift": 1069,
                "finger": 2,
                "id": 43,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1093,
                "shift": 1061,
                "finger": 3,
                "id": 44,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1099,
                "shift": 1067,
                "finger": 4,
                "id": 45,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1102,
                "shift": 1070,
                "finger": 4,
                "id": 46,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1073,
                "shift": 1041,
                "finger": 7,
                "id": 47,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1084,
                "shift": 1052,
                "finger": 7,
                "id": 48,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1087,
                "shift": 1055,
                "finger": 8,
                "id": 49,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1078,
                "shift": 1046,
                "finger": 9,
                "id": 50,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1075,
                "shift": 1043,
                "finger": 10,
                "id": 51,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": -16,
                "finger": 10,
                "id": 52
            },
            {
                "primary": 17,
                "finger": 5,
                "id": 53
            },
            {
                "primary": -91,
                "finger": 5,
                "id": 54
            },
            {
                "primary": 18,
                "finger": 5,
                "id": 55
            },
            {
                "primary": 32,
                "finger": 5,
                "id": 56
            },
            {
                "primary": -18,
                "finger": 6,
                "id": 57
            },
            {
                "primary": -91,
                "finger": 6,
                "id": 58
            },
            {
                "primary": -93,
                "finger": 6,
                "id": 59,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 17,
                "finger": 6,
                "id": 60
            }
        ]
    }

    Phonetic Colemak source

    Spoiler:

    {
        "label": "Коулмак",
        "fingerStart": {
            "1": 29,
            "2": 30,
            "3": 31,
            "4": 32,
            "5": 56,
            "6": 56,
            "7": 35,
            "8": 36,
            "9": 37,
            "10": 38,
            "11": 56,
            "false": -1
        },
        "keyboardType": "standard",
        "author": "Spray",
        "authorUrl": "",
        "moreInfoUrl": "",
        "moreInfoText": "None",
        "keys": [
            {
                "primary": 1105,
                "shift": 1025,
                "finger": 1,
                "id": 0,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 49,
                "shift": 33,
                "finger": 1,
                "id": 1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 50,
                "shift": 34,
                "finger": 2,
                "id": 2,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 51,
                "shift": 8470,
                "finger": 3,
                "id": 3,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 52,
                "shift": 59,
                "finger": 4,
                "id": 4,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 53,
                "shift": 37,
                "finger": 4,
                "id": 5,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 54,
                "shift": 58,
                "finger": 7,
                "id": 6,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 55,
                "shift": 63,
                "finger": 7,
                "id": 7,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 56,
                "shift": 42,
                "finger": 8,
                "id": 8,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 57,
                "shift": 40,
                "finger": 9,
                "id": 9,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 48,
                "shift": 41,
                "finger": 10,
                "id": 10,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 45,
                "shift": 8212,
                "finger": 10,
                "id": 11,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 61,
                "shift": 43,
                "finger": 10,
                "id": 12,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 8,
                "finger": 10,
                "id": 13,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 9,
                "finger": 1,
                "id": 14
            },
            {
                "primary": 1102,
                "shift": 1070,
                "finger": 1,
                "id": 15,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1078,
                "shift": 1046,
                "finger": 2,
                "id": 16,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1092,
                "shift": 1060,
                "finger": 3,
                "id": 17,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1087,
                "shift": 1055,
                "finger": 4,
                "id": 18,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1075,
                "shift": 1043,
                "finger": 4,
                "id": 19,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1081,
                "shift": 1049,
                "finger": 7,
                "id": 20,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1083,
                "shift": 1051,
                "finger": 7,
                "id": 21,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1091,
                "shift": 1059,
                "finger": 8,
                "id": 22,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1099,
                "shift": 1067,
                "finger": 9,
                "id": 23,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1095,
                "shift": 1063,
                "finger": 10,
                "id": 24,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1096,
                "shift": 1064,
                "finger": 10,
                "id": 25,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1097,
                "shift": 1097,
                "finger": 10,
                "id": 26,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 92,
                "shift": 47,
                "finger": 10,
                "id": 27,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 20,
                "finger": 1,
                "id": 28,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1072,
                "shift": 1040,
                "finger": 1,
                "id": 29,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1088,
                "shift": 1056,
                "finger": 2,
                "id": 30,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1089,
                "shift": 1057,
                "finger": 3,
                "id": 31,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1090,
                "shift": 1058,
                "finger": 4,
                "id": 32,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1076,
                "shift": 1044,
                "finger": 4,
                "id": 33,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1093,
                "shift": 1061,
                "finger": 7,
                "id": 34,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1085,
                "shift": 1053,
                "finger": 7,
                "id": 35,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1077,
                "shift": 1045,
                "finger": 8,
                "id": 36,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1080,
                "shift": 1048,
                "finger": 9,
                "id": 37,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1086,
                "shift": 1054,
                "finger": 10,
                "id": 38,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1103,
                "shift": 1071,
                "finger": 10,
                "id": 39,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 13,
                "finger": 10,
                "id": 40
            },
            {
                "primary": 16,
                "finger": 1,
                "id": 41
            },
            {
                "primary": 1079,
                "shift": 1047,
                "finger": 1,
                "id": 42,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1100,
                "shift": 1098,
                "finger": 2,
                "id": 43,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1094,
                "shift": 1062,
                "finger": 3,
                "id": 44,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1074,
                "shift": 1042,
                "finger": 4,
                "id": 45,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1073,
                "shift": 1041,
                "finger": 4,
                "id": 46,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1082,
                "shift": 1050,
                "finger": 7,
                "id": 47,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1084,
                "shift": 1052,
                "finger": 7,
                "id": 48,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 44,
                "shift": 60,
                "finger": 8,
                "id": 49,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 46,
                "shift": 62,
                "finger": 9,
                "id": 50,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1101,
                "shift": 1069,
                "finger": 10,
                "id": 51,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": -16,
                "finger": 10,
                "id": 52
            },
            {
                "primary": 17,
                "finger": 5,
                "id": 53
            },
            {
                "primary": -91,
                "finger": 5,
                "id": 54
            },
            {
                "primary": 18,
                "finger": 5,
                "id": 55
            },
            {
                "primary": 32,
                "finger": 5,
                "id": 56
            },
            {
                "primary": -18,
                "finger": 6,
                "id": 57
            },
            {
                "primary": -91,
                "finger": 6,
                "id": 58
            },
            {
                "primary": -93,
                "finger": 6,
                "id": 59,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 17,
                "finger": 6,
                "id": 60
            }
        ]
    }

    Phonetic Colemak Mod-DH source

    Spoiler:

    {
        "label": "Коулмак Мод-ДХ",
        "fingerStart": {
            "1": 29,
            "2": 30,
            "3": 31,
            "4": 32,
            "5": 56,
            "6": 56,
            "7": 35,
            "8": 36,
            "9": 37,
            "10": 38,
            "11": 56,
            "false": -1
        },
        "keyboardType": "standard",
        "author": "Spray",
        "authorUrl": "",
        "moreInfoUrl": "",
        "moreInfoText": "None",
        "keys": [
            {
                "primary": 1105,
                "shift": 1025,
                "finger": 1,
                "id": 0,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 49,
                "shift": 33,
                "finger": 1,
                "id": 1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 50,
                "shift": 34,
                "finger": 2,
                "id": 2,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 51,
                "shift": 8470,
                "finger": 3,
                "id": 3,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 52,
                "shift": 59,
                "finger": 4,
                "id": 4,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 53,
                "shift": 37,
                "finger": 4,
                "id": 5,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 54,
                "shift": 58,
                "finger": 7,
                "id": 6,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 55,
                "shift": 63,
                "finger": 7,
                "id": 7,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 56,
                "shift": 42,
                "finger": 8,
                "id": 8,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 57,
                "shift": 40,
                "finger": 9,
                "id": 9,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 48,
                "shift": 41,
                "finger": 10,
                "id": 10,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 45,
                "shift": 8212,
                "finger": 10,
                "id": 11,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 61,
                "shift": 43,
                "finger": 10,
                "id": 12,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 8,
                "finger": 10,
                "id": 13,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 9,
                "finger": 1,
                "id": 14
            },
            {
                "primary": 1102,
                "shift": 1070,
                "finger": 1,
                "id": 15,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1074,
                "shift": 1042,
                "finger": 2,
                "id": 16,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1092,
                "shift": 1060,
                "finger": 3,
                "id": 17,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1087,
                "shift": 1055,
                "finger": 4,
                "id": 18,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1073,
                "shift": 1041,
                "finger": 4,
                "id": 19,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1081,
                "shift": 1049,
                "finger": 7,
                "id": 20,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1083,
                "shift": 1051,
                "finger": 7,
                "id": 21,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1091,
                "shift": 1059,
                "finger": 8,
                "id": 22,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1099,
                "shift": 1067,
                "finger": 9,
                "id": 23,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1095,
                "shift": 1063,
                "finger": 10,
                "id": 24,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1096,
                "shift": 1064,
                "finger": 10,
                "id": 25,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1097,
                "shift": 1097,
                "finger": 10,
                "id": 26,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 92,
                "shift": 47,
                "finger": 10,
                "id": 27,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 20,
                "finger": 1,
                "id": 28,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1072,
                "shift": 1040,
                "finger": 1,
                "id": 29,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1088,
                "shift": 1056,
                "finger": 2,
                "id": 30,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1089,
                "shift": 1057,
                "finger": 3,
                "id": 31,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1090,
                "shift": 1058,
                "finger": 4,
                "id": 32,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1075,
                "shift": 1043,
                "finger": 4,
                "id": 33,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1084,
                "shift": 1052,
                "finger": 7,
                "id": 34,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1085,
                "shift": 1053,
                "finger": 7,
                "id": 35,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1077,
                "shift": 1045,
                "finger": 8,
                "id": 36,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1080,
                "shift": 1048,
                "finger": 9,
                "id": 37,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1086,
                "shift": 1054,
                "finger": 10,
                "id": 38,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1103,
                "shift": 1071,
                "finger": 10,
                "id": 39,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 13,
                "finger": 10,
                "id": 40
            },
            {
                "primary": 16,
                "finger": 1,
                "id": 41
            },
            {
                "primary": 1100,
                "shift": 1098,
                "finger": 2,
                "id": 42,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1094,
                "shift": 1062,
                "finger": 3,
                "id": 43,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1076,
                "shift": 1044,
                "finger": 4,
                "id": 44,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1078,
                "shift": 1046,
                "finger": 4,
                "id": 45,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1079,
                "shift": 1047,
                "finger": 4,
                "id": 46,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1082,
                "shift": 1050,
                "finger": 7,
                "id": 47,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1093,
                "shift": 1061,
                "finger": 7,
                "id": 48,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 44,
                "shift": 60,
                "finger": 8,
                "id": 49,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 46,
                "shift": 62,
                "finger": 9,
                "id": 50,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 1101,
                "shift": 1069,
                "finger": 10,
                "id": 51,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": -16,
                "finger": 10,
                "id": 52
            },
            {
                "primary": 17,
                "finger": 5,
                "id": 53
            },
            {
                "primary": -91,
                "finger": 5,
                "id": 54
            },
            {
                "primary": 18,
                "finger": 5,
                "id": 55
            },
            {
                "primary": 32,
                "finger": 5,
                "id": 56
            },
            {
                "primary": -18,
                "finger": 6,
                "id": 57
            },
            {
                "primary": -91,
                "finger": 6,
                "id": 58
            },
            {
                "primary": -93,
                "finger": 6,
                "id": 59,
                "shift": -1,
                "altGr": -1,
                "shiftAltGr": -1
            },
            {
                "primary": 17,
                "finger": 6,
                "id": 60
            }
        ]
    }

    Offline
    • 0
    • Reputation: 210
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,341

    That's really interesting! So phonetic Colemak-DH comes out nearly as good as the Russian-dedicated Diktor? And of course it's very much better for English, so if a typists types any amount of English in addition to Russian then Rulemak turns out to be a good choice.

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 0
    • Registered: 17-Aug-2020
    • Posts: 16

    A lot of time has passed and a lot of things have happened in my life :p It's a bit funny to look at this topic again.
    I'm actually using QWERTY & ЙЦУКЕН now because maintaining my own version of Wide & Angle Colemak-DH for 3 languages and a hyper layer, while doing it all on a macbook keyboard, was a lot of overhead... lol (though thanks to Ukelele & Karabiner elements for making it possible). And now I need to use 4 languages xD Since I had to leave Ukraine for obvious reasons... But now that everything is a bit more stable and I'm looking to buy myself a proper ergo keyboard (probably Cantor or Corne), and I can go as crazy as I want, I'm thinking of returning to Colemak.

    To answer @ckofy's question (though a bit late...) I did go with rulemak/ukromak because they're coincidentally really good in terms of ergonomics, and it's cool to have layouts that are phonetically the same. Def makes switching easier if you do it for a couple of languages at the same time like I did.
    Though I'm not entirely sure I will go with it now. After switching to colemak, I plan to practice qwerty from time to time on a normal keyboard so that I can easily use both but doing it for ЙЦУКЕН as well... That sounds like a lot of work. But then having phonetically the same layouts is really cool. I haven't decided yet.

    ________________________

    Oh good to know I documented my changes in this topic as well:
    https://forum.colemak.com/topic/519-rul … layout/p5/

    ________________________

    Also wanted to note that I still really like my idea of using just a single Latin and a single Cyrillic layout (esp. since I have +1 Latin language now), this is what I use now (thanks to macOS for making it possible with built-in languages, no need to edit anything). But I do agree with my past self that it feels a bit ridiculous at times... Perhaps I could make it easier by using one-tap modifiers.

    Last edited by martian (17-Aug-2023 18:59:45)
    Offline
    • 0
    • Reputation: 210
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,341

    There's a Rulemak variant for Ukrainian? How exactly does that look, and does it have more than one user? Any documentation for it?

    If it's useful for Ukrainia, I should add it to the EPKL Rulemak variants (it's got the main Rulemak and Bulmak for now).

    Last edited by DreymaR (18-Aug-2023 09:19:19)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 23
    • From: Belgium
    • Registered: 26-Feb-2008
    • Posts: 480

    To adjust Rulemak for Ukrainian, obviously change и>і and ы>и to match Colemak transliteration and phonetics, leave е in place and change э>є (as е is much more frequent).  I guess rare letter ґ can stay on AltGr+г, but I'm not sure where to put ї, is AltGr+і enough?  And do you care in practice which apostrophe character (ASCII U+0027 or Unicode U+2019 or U+02BC) is used for the hard sign?

    Offline
    • 0
    • Reputation: 0
    • Registered: 17-Aug-2020
    • Posts: 16

    @ghen is mostly correct. Though I and I think most Ukrainians are used to ы>і which is not phonetically correct but lets you do и>и. I know the Ukrainian layout in macOS was this phonetically correct one at first but they changed it afterward to the same one that I described as preferable. Regarding the apostrophe, if we base it on the macOS layout which I really like, we should use ʼ as an apostrophe, like a little comma, which is close to how we write it by hand. Ґ is both altGr + г and also this key near the left shift if you have an ISO keyboard. Oh, and ї is actually where ъ is on russian layout, whereas the apostrophe ʼ is instead of ё. I feel like there are also layouts where ґ and ʼ swap places, this is up to debate in terms of ergonomics I think. And in terms of logic, it would make more sense for the apostrophe to replace ъ and put ї somewhere else (maybe even on altgr layer like @ghen suggested). These 3 symbols( ʼ ґ ї ) are up for debate, I don't have a strong opinion, need to think a bit about logic and ergonomics.

    ___________________________


    Also to clarify for @DreymaR, I don't know anyone else who uses "ukromak", this is just what I called my own modifications that are basically rulemak but then implement all the changes exactly the way they are done in Ukrainian ЙЦУКЕН.

    ___________________________

    Regarding apostrophe. I decided to do a bit of research and I think we mostly use just a simple single quote ' . That certainly makes things easier.

    ___________________________

    I checked @ghen's rulemak. Yes, I think replacing ы with і and э with є is sensible while also putting ґ and ї on the altgr layer. And the apostrophe is already in the left-top corner if I understood correctly? So yeah, the only thing that bothers me here is I see why you wanted to do it the other way around with и and і : because this way we can also keep ї on the (altgr) home row which is nice. That's unfortunate but I still think most Ukrainians would prefer it the way I described at first because и > и is what everyone's used to.

    Last edited by martian (18-Aug-2023 23:11:44)
    Offline
    • 0
    • Reputation: 23
    • From: Belgium
    • Registered: 26-Feb-2008
    • Posts: 480

    Oh, of course it makes sense to just look at the Ukrainian йцукен layout, and apply those changes to Rulemak as well!
    So и stays и, ы>і, э>є, ъ>ї, ё>’, and ґ on 102nd key (or AltGr+г).

    Rulemak-UA:
    rulemak-ua.png

    FWIW, Rulemak already has the apostrophe on AltGr+ь, so the top left key could be used for something else.
    Maybe put ї there instead, and re-gain the =+ key?

    Last edited by ghen (19-Aug-2023 13:30:19)
    Offline
    • 0
    • Reputation: 0
    • Registered: 17-Aug-2020
    • Posts: 16

    Oh interesting, I never actually knew that in your Rulemak =+ is replaced with ъ . That's a hard one. I think the top left corner or altgr + і could both work.

    Offline
    • 0
    • Reputation: 210
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,341

    I don't feel I can contribute meaningfully here at the moment. But I'm rooting for you guys! Hope you can hammer out a good consensus of what would constitute a logical and useful Ukromak (I like that name) to join Rulemak and Bulmak in EPKL and other places.

    Martian: In the EPKL standard implementations, the AltGr states are left for latin letters which are frequently needed for loan words etc. So try to avoid these for letter keys, please. Ghen's more ambitious four-level Rulemak may be more complete for pan-Slavic and other special typing, but I feel it's less useful for actual day-to-day typing in mostly one language so I went for the old latin-on-AltGr strategy.

    EPKL has some tricks of its own up its sleeve though, so we can figure out something clever for ґ either way.

    (b ̄◇ ̄)b

    Last edited by DreymaR (24-Aug-2023 10:49:38)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 0
    • Registered: 17-Aug-2020
    • Posts: 16

    This is curious, I didn't know that you put Latin characters on the altGr layer. I'm personally still a bit torn on this one (to have several languages or to have just 2 or even 1 and use altGr extensively) but if it is status-quo then I think putting ї in the top left corner instead of altGr layer is totally fine.

    What bothers me a little bit is symbols, specifically "/" . It's not something used when typing in Ukrainian or Russian so perhaps it could be replaced with something (say again apostrophe). By the way, I don't like the idea of putting ь or ъ on a shift layer only because "you don't need capital letters anyway" because I did it and then I needed to write in all caps but I didn't have Ь and it was troublesome lol. I said this because you could also think about putting ь or ъ instead of / but I don't like it, so the apostrophe is the only viable option in my opinion.

    By the way, where do you have double quotes in Rulemak? In ЙЦУКЕН it's shift + 2. Since we don't use some symbols (@ &) and some are used just for math/programming for which you could switch to a latin layout (^ _ + =), this is where we normally put ? " etc. in ЙЦУКЕН. I understand that you want to keep it as close to Colemak as possible, but at least @ could be replaced with double quotes in my opinion, perhaps there are other symbols that could be used as well.

    __________________________

    Now that I pondered it a little bit, I think for my own layout (probably not very good for official Ukromak/Rulemak) I'd put " on shift + 2 and ? on shift + 7, exactly the way it's done in ЙЦУКЕН, and since / is not needed this key could be used for one of the letters. This way we'll remove only symbols that are not used in Cyrillic at all (/ @ &, and # turns into №) but we can still have mathematical symbols in case you want to write some mathematics together with Cyrillic haha.

    Last edited by martian (25-Aug-2023 13:14:55)
    Offline
    • 0
    • Reputation: 23
    • From: Belgium
    • Registered: 26-Feb-2008
    • Posts: 480

    Old versions of Rulemak indeed had Latin letters on AltGr, but I moved away from that, as layout switching shouldn't be a feature of an individual layout (no other Cyrillic, Greek, etc layouts do that, either).  I now use a generic hotkey to switch between Colemak and Rulemak and occasionally other layouts, and map AltGr to other Cyrillic letters, like ґ.  This is suitable for occasional typing of Ukrainian, Belarusian, Serbian, etc, or old spelling using ѣ etc.

    Rulemak has ' and " on AltGr(+Shift)+ь, that is AltGr on their Colemak position.  But I have an unreleased version that uses йцукен Shift+number positions for ":;? as you suggested (it already had № on Shift+3).  But that still has no (obvious) place for the single quote, which I'd like to include as well.  So it's still unfinished.

    Actually the key I miss most myself is +/=, taken by ъ, so I consider moving ъ to AltGr+ь instead, given its low frequency.

    rulemak.png

    Offline
    • 0
    • Reputation: 210
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,341

    I must confess that the Latin-on-AltGr strategy for non-Latin scripts is somewhat influenced by the fact that layout switching in EPKL isn't instantaneous. If it were, it'd be easier. But still, hitting AltGr for a quoted word or something is a easier than hitting Ctrl+Shift+2 or whatever you use to switch layouts. So then it's a question of whether you really need anything else on the AltGr layer.

    It's not entirely true that no other script layouts use Latin letters on AltGr I think! As I recall it, I've seen such layout definitions in xkb.

    Also, I feel that the "academic" approach of cramming all sorts of hardly used script letters/symbols into the AltGr layer simply won't be so useful for the average typist. For academics it's gold, I suppose – although I feel that it's hard to make such AltGr layers entirely intuitive anyway so I tend to prefer sequences for that kind of thing these days (to write ȣȝ 'ough' in Middle English for instance, it's a _lot_ easier to type `'ou` and `'gh` with a Compose key than to try and remember where I had put those two little rascals in dead key layers).

    I'm often somewhat undecided on which approach to follow, of course. For my Hebrew implementation I did include special dead keys for all sorts of Biblical typing etc.

    Extensive AltGr usage is not good, either way. If you're typing your own language you shouldn't have to use it a lot. Better to have several locale variants, even if it means more work for us designers. One good principle though, is minimal tweaking. For most of my locale Colemak variants, I try to change the same few keys so the differences are few and kind of consistent between variants.

    Martian's point on symbol keys is an excellent one. Some symbol keys have to be "demoted" since there are more letters in Kyrillic than in Latin script. But some are still useful. Demoting something as common and useful as quotes to AltGr+Shift positions is too harsh I feel.

    Last edited by DreymaR (26-Aug-2023 13:41:30)

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0