Keyman key partially works

I have created a Keyman keyboard and everything works fine except one key. That one key works as expected in the default layer, but does not respond in the shift layer. The main key does not work and the long press Gb and ɡb also do not work although the longpress g and G do work. This is the code including the prior and following key:

          {
            "id": "K_F",
            "text": "F"
          },
          {
            "id": "T_47_62",
            "text": "Gb",
            "sp": "1",
            "sk": [
              {
                "text": "ɡb",
                "id": "T_261_62"
              },
              {
                "text": "g",
                "id": "K_G"
              },
              {
                "text": "G",
                "id": "K_G",
                "nextlayer": "default",
                "layer": "shift"
              }
            ]
          },
          {
            "id": "K_H",
            "text": "H"
          },

I have gone as far as to copy the code from the default section for this key to the shift layer and it still didn’t work although the code in the default layer does work. Of course, the only difference between the two sections is the T_261_62 and T_47_62 id’s and the Gb and ɡb being switched. I have even run the code through JSON lint to make sure I didn’t miss anything.
Any help would be appreciated.
Lee Partridge
lee_partridge@ntm.org

Without seeing the whole keyboard, it’s hard to be completely sure, but my guess would be that in your .kmn, you have a rule like this:

+ [T_47_62] > 'Gb'

But it should be:

+ [SHIFT T_47_62] > 'Gb'

because the key inherits the modifier state of the layer, by default. Alternatively, you can add a "layer": "default" property to the touch layout definition.

I will give that a try. Does that mean I have to add default to the ɡb definition as

  • [DEFAULT T_261_62] > ‘ɡb’
    since that doesn’t work either?
    Lee Partridge

I put the DEFAULT and SHIFT in and got this:

Error 63: 0000405B Invalid key identifier "DEFAULT"
Error 0: 0000405A Key "DEFAULT T_261_62" on "tablet", layer "default" has an invalid identifier.
Error 0: 0000405A Key "SHIFT T_47_62" on "tablet", layer "default" has an invalid identifier.
Error 0: 0000405A Key "SHIFT T_47_62" on "tablet", layer "shift" has an invalid identifier.
Error 0: 0000405A Key "DEFAULT T_261_62" on "tablet", layer "shift" has an invalid identifier.

This is the code in the kmn:

c Added for touch screen gb and Gb on g
+ [DEFAULT T_261_62] > U+0261 U+0062 c ɡb
+ [SHIFT T_47_62] > U+0047 U+0062 c Gb

This is the touch screen code:

{
  "tablet": {
    "layer": [
      {
        "id": "default",
        "row": [
          {
            "id": 1,
            "key": [
              {
                "id": "K_1",
                "text": "1",
                "nextlayer": "numeric"
              },
              {
                "id": "K_2",
                "text": "2"
              },
              {
                "id": "K_3",
                "text": "3"
              },
              {
                "id": "K_4",
                "text": "4"
              },
              {
                "id": "K_5",
                "text": "5"
              },
              {
                "id": "K_6",
                "text": "6"
              },
              {
                "id": "K_7",
                "text": "7"
              },
              {
                "id": "K_8",
                "text": "8"
              },
              {
                "id": "K_9",
                "text": "9"
              },
              {
                "id": "K_0",
                "text": "0"
              },
              {
                "id": "K_HYPHEN",
                "text": "-"
              },
              {
                "id": "K_EQUAL",
                "text": "="
              },
              {
                "id": "K_BKSP",
                "text": "*BkSp*",
                "width": "100",
                "sp": "1"
              }
            ]
          },
          {
            "id": 2,
            "key": [
              {
                "id": "U_0259",
                "text": "ə",
                "pad": "75",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_018f",
                    "text": "Ə"
                  },
                  {
                    "id": "U_0071",
                    "text": "q"
                  },
                  {
                    "id": "U_0051",
                    "text": "Q"
                  }
                ]
              },
              {
                "id": "U_0077",
                "text": "w"
              },
              {
                "id": "U_0065",
                "text": "e",
                "sp": "1",
                "sk": [
                  {
                    "text": "é",
                    "id": "U_00e9"
                  },
                  {
                    "text": "É",
                    "id": "U_00c9"
                  },
                  {
                    "text": "ë",
                    "id": "U_00eb"
                  },
                  {
                    "text": "Ë",
                    "id": "U_00cb"
                  },
                  {
                    "text": "è",
                    "id": "U_00e8"
                  },
                  {
                    "text": "È",
                    "id": "U_00c8"
                  },
                  {
                    "text": "ê",
                    "id": "U_00ea"
                  },
                  {
                    "text": "Ê",
                    "id": "U_00ca"
                  },
                  {
                    "text": "E",
                    "id": "U_0045"
                  }
                ]
              },
              {
                "id": "K_R",
                "text": "r"
              },
              {
                "id": "K_T",
                "text": "t"
              },
              {
                "id": "K_Y",
                "text": "y"
              },
              {
                "id": "K_U",
                "text": "u"
              },
              {
                "id": "U_0069",
                "text": "i",
                "sp": "1",
                "sk": [
                  {
                    "text": "î",
                    "id": "U_00ee"
                  },
                  {
                    "text": "Î",
                    "id": "U_00ce"
                  },
                  {
                    "text": "I",
                    "id": "U_0049"
                  }
                ]
              },
              {
                "id": "U_006f",
                "text": "o",
                "sp": "1",
                "sk": [
                  {
                    "text": "ô",
                    "id": "U_00f4"
                  },
                  {
                    "text": "Ô",
                    "id": "U_00d4"
                  },
                  {
                    "text": "O",
                    "id": "U_004f"
                  }
                ]
              },
              {
                "id": "K_P",
                "text": "p"
              },
              {
                "id": "K_LBRKT",
                "text": "["
              },
              {
                "id": "U_005D",
                "text": "]"
              }
            ]
          },
          {
            "id": 3,
            "key": [
              {
                "id": "K_BKQUOTE",
                "text": "`"
              },
              {
                "id": "U_0251",
                "text": "ɑ",
                "sp": "1",
                "sk": [
                  {
                    "text": "a",
                    "id": "U_0061"
                  },
                  {
                    "text": "A",
                    "id": "U_0041"
                  }
                ]
              },
              {
                "id": "K_S",
                "text": "s"
              },
              {
                "id": "K_D",
                "text": "d"
              },
              {
                "id": "K_F",
                "text": "f"
              },
              {
                "id": "DEFAULT T_261_62",
                "text": "ɡb",
                "sp": "1",
                "sk": [
                  {
                    "text": "Gb",
                    "id": "SHIFT T_47_62"
                  },
                  {
                    "text": "g",
                    "id": "K_G"
                  },
                  {
                    "text": "G",
                    "id": "K_G",
                    "nextlayer": "default",
                    "layer": "shift"
                  }
                ]
              },
              {
                "id": "K_H",
                "text": "h"
              },
              {
                "id": "K_J",
                "text": "j"
              },
              {
                "id": "K_K",
                "text": "k"
              },
              {
                "id": "K_L",
                "text": "l"
              },
              {
                "id": "U_014b",
                "text": "ŋ",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_014a",
                    "text": "Ŋ"
                  },
                  {
                    "id": "U_003b",
                    "text": ";"
                  },
                  {
                    "id": "U_003a",
                    "text": ":"
                  }
                ]
              },
              {
                "id": "U_0272",
                "text": "ɲ",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_019d",
                    "text": "Ɲ"
                  },
                  {
                    "id": "U_0027",
                    "text": "'"
                  },
                  {
                    "id": "U_0022",
                    "text": "\""
                  }
                ]
              },
              {
                "id": "K_BKSLASH",
                "text": "\\"
              }
            ]
          },
          {
            "id": 4,
            "key": [
              {
                "id": "K_SHIFT",
                "text": "*Shift*",
                "width": "160",
                "sp": "2",
                "nextlayer": "shift"
              },
              {
                "id": "U_002F",
                "text": "/"
              },
              {
                "id": "U_028c",
                "text": "ʌ",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_0245",
                    "text": "Ʌ"
                  },
                  {
                    "id": "U_007a",
                    "text": "z"
                  },
                  {
                    "id": "U_005a",
                    "text": "Z"
                  }
                ]
              },
              {
                "id": "U_0254",
                "text": "ɔ",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_0186",
                    "text": "Ɔ"
                  },
                  {
                    "id": "U_0078",
                    "text": "x"
                  },
                  {
                    "id": "U_0058",
                    "text": "X"
                  }
                ]
              },
              {
                "id": "U_0063",
                "text": "c",
                "sp": "1",
                "sk": [
                  {
                    "text": "ç",
                    "id": "U_00e7"
                  },
                  {
                    "text": "Ç",
                    "id": "U_00c7"
                  },
                  {
                    "text": "C",
                    "id": "U_0043"
                  }
                ]
              },
              {
                "id": "U_025b",
                "text": "ɛ",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_0190",
                    "text": "Ɛ"
                  },
                  {
                    "id": "U_0076",
                    "text": "v"
                  },
                  {
                    "id": "U_0056",
                    "text": "V"
                  }
                ]
              },
              {
                "id": "K_B",
                "text": "b"
              },
              {
                "id": "K_N",
                "text": "n"
              },
              {
                "id": "K_M",
                "text": "m"
              },
              {
                "id": "U_00ab",
                "text": "«",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_002c",
                    "text": ","
                  },
                  {
                    "id": "U_003c",
                    "text": "<"
                  }
                ]
              },
              {
                "id": "U_00bb",
                "text": "»",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_002e",
                    "text": "."
                  },
                  {
                    "id": "U_003e",
                    "text": ">"
                  }
                ]
              },
              {
                "id": "U_3f",
                "text": "?"
              }
            ]
          },
          {
            "id": 5,
            "key": [
              {
                "id": "K_NUMLOCK",
                "text": "*123*",
                "width": "130",
                "sp": "1",
                "nextlayer": "numeric"
              },
              {
                "id": "K_LOPT",
                "text": "*Menu*",
                "width": "140",
                "sp": "1"
              },
              {
                "id": "K_SPACE",
                "text": " ",
                "width": "930"
              },
              {
                "id": "K_ENTER",
                "text": "*Enter*",
                "width": "145",
                "sp": "1"
              }
            ]
          }
        ]
      },
      {
        "id": "shift",
        "row": [
          {
            "id": 1,
            "key": [
              {
                "id": "K_1",
                "text": "!",
                "nextlayer": "numeric"
              },
              {
                "id": "K_2",
                "text": "@"
              },
              {
                "id": "K_3",
                "text": "#"
              },
              {
                "id": "K_4",
                "text": "$"
              },
              {
                "id": "K_5",
                "text": "%"
              },
              {
                "id": "K_6",
                "text": "^"
              },
              {
                "id": "K_7",
                "text": "&"
              },
              {
                "id": "K_8",
                "text": "*"
              },
              {
                "id": "K_9",
                "text": "("
              },
              {
                "id": "K_0",
                "text": ")"
              },
              {
                "id": "K_HYPHEN",
                "text": "_"
              },
              {
                "id": "K_EQUAL",
                "text": "+"
              },
              {
                "id": "K_BKSP",
                "text": "*BkSp*",
                "width": "100",
                "sp": "1"
              }
            ]
          },
          {
            "id": 2,
            "key": [
              {
                "id": "U_018f",
                "text": "Ə",
                "pad": "75",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_0259",
                    "text": "ə"
                  },
                  {
                    "id": "U_0071",
                    "text": "q"
                  },
                  {
                    "id": "U_0051",
                    "text": "Q"
                  }
                ]
              },
              {
                "id": "K_W",
                "text": "W"
              },
              {
                "id": "K_E",
                "text": "E",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_00e9",
                    "text": "é"
                  },
                  {
                    "id": "U_00c9",
                    "text": "É"
                  },
                  {
                    "id": "U_0065",
                    "text": "e"
                  },
                  {
                    "id": "U_00eb",
                    "text": "ë"
                  },
                  {
                    "id": "U_00cb",
                    "text": "Ë"
                  },
                  {
                    "id": "U_00e8",
                    "text": "è"
                  },
                  {
                    "id": "U_00c8",
                    "text": "È"
                  },
                  {
                    "id": "U_00ea",
                    "text": "ê"
                  },
                  {
                    "id": "U_00ca",
                    "text": "Ê"
                  }
                ]
              },
              {
                "id": "K_R",
                "text": "R"
              },
              {
                "id": "K_T",
                "text": "T"
              },
              {
                "id": "K_Y",
                "text": "Y"
              },
              {
                "id": "K_U",
                "text": "U"
              },
              {
                "id": "K_I",
                "text": "I",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_0069",
                    "text": "i"
                  },
                  {
                    "id": "U_00ee",
                    "text": "î"
                  },
                  {
                    "id": "U_00ce",
                    "text": "Î"
                  }
                ]
              },
              {
                "id": "K_O",
                "text": "O",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_006f",
                    "text": "o"
                  },
                  {
                    "id": "U_00f4",
                    "text": "ô"
                  },
                  {
                    "id": "U_00d4",
                    "text": "Ô"
                  }
                ]
              },
              {
                "id": "K_P",
                "text": "P"
              },
              {
                "id": "K_LBRKT",
                "text": "{"
              },
              {
                "id": "U_007D",
                "text": "}"
              }
            ]
          },
          {
            "id": 3,
            "key": [
              {
                "id": "K_BKQUOTE",
                "text": "~"
              },
              {
                "id": "K_A",
                "text": "A",
                "sp": "1",
                "sk": [
                  {
                    "text": "ɑ",
                    "id": "U_0251"
                  },
                  {
                    "text": "a",
                    "id": "U_0061"
                  }
                ]
              },
              {
                "id": "K_S",
                "text": "S"
              },
              {
                "id": "K_D",
                "text": "D"
              },
              {
                "id": "K_F",
                "text": "F"
              },
              {
                "id": "SHIFT T_47_62",
                "text": "Gb",
                "sp": "1",
                "sk": [
                  {
                    "text": "ɡb",
                    "id": "DEFAULT T_261_62"
                  },
                  {
                    "text": "g",
                    "id": "K_G"
                  },
                  {
                    "text": "G",
                    "id": "K_G",
                    "nextlayer": "default",
                    "layer": "shift"
                  }
                ]
              },
              {
                "id": "K_H",
                "text": "H"
              },
              {
                "id": "K_J",
                "text": "J"
              },
              {
                "id": "K_K",
                "text": "K"
              },
              {
                "id": "K_L",
                "text": "L"
              },
              {
                "id": "U_014a",
                "text": "Ŋ",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_014b",
                    "text": "ŋ"
                  },
                  {
                    "id": "U_003b",
                    "text": ";"
                  },
                  {
                    "id": "U_003a",
                    "text": ":"
                  }
                ]
              },
              {
                "id": "U_019d",
                "text": "Ɲ",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_0272",
                    "text": "ɲ"
                  },
                  {
                    "id": "U_0027",
                    "text": "'"
                  },
                  {
                    "id": "U_0022",
                    "text": "\""
                  }
                ]
              },
              {
                "id": "K_BKSLASH",
                "text": "|"
              }
            ]
          },
          {
            "id": 4,
            "key": [
              {
                "id": "K_SHIFT",
                "text": "*Shift*",
                "width": "160",
                "sp": "2",
                "nextlayer": "default"
              },
              {
                "id": "U_00A1",
                "text": "¡"
              },
              {
                "id": "U_0245",
                "text": "Ʌ",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_028c",
                    "text": "ʌ"
                  },
                  {
                    "id": "U_007a",
                    "text": "z"
                  },
                  {
                    "id": "U_005a",
                    "text": "Z"
                  }
                ]
              },
              {
                "id": "U_0186",
                "text": "Ɔ",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_0254",
                    "text": "ɔ"
                  },
                  {
                    "id": "U_0078",
                    "text": "x"
                  },
                  {
                    "id": "U_0058",
                    "text": "X"
                  }
                ]
              },
              {
                "id": "U_0043",
                "text": "C",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_0063",
                    "text": "c"
                  },
                  {
                    "id": "U_00e7",
                    "text": "ç"
                  },
                  {
                    "id": "U_00c7",
                    "text": "Ç"
                  }
                ]
              },
              {
                "id": "U_0190",
                "text": "Ɛ",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_025b",
                    "text": "ɛ"
                  },
                  {
                    "id": "U_0076",
                    "text": "v"
                  },
                  {
                    "id": "U_0056",
                    "text": "V"
                  }
                ]
              },
              {
                "id": "K_B",
                "text": "B"
              },
              {
                "id": "K_N",
                "text": "N"
              },
              {
                "id": "K_M",
                "text": "M"
              },
              {
                "id": "U_00ab",
                "text": "«",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_002c",
                    "text": ","
                  },
                  {
                    "id": "U_003c",
                    "text": "<"
                  }
                ]
              },
              {
                "id": "U_00bb",
                "text": "»",
                "sp": "1",
                "sk": [
                  {
                    "id": "U_002e",
                    "text": "."
                  },
                  {
                    "id": "U_003e",
                    "text": ">"
                  }
                ]
              },
              {
                "id": "U_bf",
                "text": "¿"
              }
            ]
          },
          {
            "id": 5,
            "key": [
              {
                "id": "K_NUMLOCK",
                "text": "*123*",
                "width": "130",
                "sp": "1",
                "nextlayer": "numeric"
              },
              {
                "id": "K_LOPT",
                "text": "*Menu*",
                "width": "140",
                "sp": "1"
              },
              {
                "id": "K_SPACE",
                "text": "",
                "width": "930"
              },
              {
                "id": "K_ENTER",
                "text": "*Enter*",
                "width": "145",
                "sp": "1"
              }
            ]
          }
        ]
      },
      {
        "id": "numeric",
        "row": [
          {
            "id": 1,
            "key": [
              {
                "id": "K_1",
                "text": "1"
              },
              {
                "id": "K_2",
                "text": "2"
              },
              {
                "id": "K_3",
                "text": "3"
              },
              {
                "id": "K_4",
                "text": "4"
              },
              {
                "id": "K_5",
                "text": "5"
              },
              {
                "id": "K_6",
                "text": "6"
              },
              {
                "id": "K_7",
                "text": "7"
              },
              {
                "id": "K_8",
                "text": "8"
              },
              {
                "id": "K_9",
                "text": "9"
              },
              {
                "id": "K_0",
                "text": "0"
              },
              {
                "id": "K_HYPHEN",
                "text": "-"
              },
              {
                "id": "K_EQUAL",
                "text": "="
              },
              {
                "id": "K_BKSP",
                "text": "*BkSp*",
                "width": "100",
                "sp": "1"
              }
            ]
          },
          {
            "id": 2,
            "key": [
              {
                "id": "U_0024",
                "text": "$",
                "pad": "75"
              },
              {
                "id": "U_0040",
                "text": "@"
              },
              {
                "id": "U_0023",
                "text": "#"
              },
              {
                "id": "U_0025",
                "text": "%"
              },
              {
                "id": "U_0026",
                "text": "&"
              },
              {
                "id": "U_007C",
                "text": "|"
              },
              {
                "id": "U_0028",
                "text": "("
              },
              {
                "id": "U_0029",
                "text": ")"
              },
              {
                "id": "U_002B",
                "text": "+"
              },
              {
                "id": "U_002D",
                "text": "-"
              },
              {
                "id": "U_2022",
                "text": "•"
              },
              {
                "id": "U_00B7",
                "text": "·"
              }
            ]
          },
          {
            "id": 3,
            "key": [
              {
                "id": "K_BKQUOTE",
                "text": "`"
              },
              {
                "id": "U_002A",
                "text": "*"
              },
              {
                "id": "U_007E",
                "text": "~"
              },
              {
                "id": "U_005E",
                "text": "^"
              },
              {
                "id": "U_00A8",
                "text": "¨"
              },
              {
                "id": "U_00B4",
                "text": "´"
              },
              {
                "id": "U_00B8",
                "text": "¸"
              },
              {
                "id": "U_00AF",
                "text": "¯"
              },
              {
                "id": "U_00A1",
                "text": "¡"
              },
              {
                "id": "U_00AC",
                "text": "¬"
              },
              {
                "id": "U_00AA",
                "text": "ª"
              },
              {
                "id": "U_00BA",
                "text": "º"
              },
              {
                "id": "U_00B6",
                "text": "¶"
              }
            ]
          },
          {
            "id": 4,
            "key": [
              {
                "id": "K_LOWER",
                "text": "*abc*",
                "width": "160",
                "sp": "1",
                "nextlayer": "default"
              },
              {
                "id": "U_00A7",
                "text": "§"
              },
              {
                "id": "U_00B1",
                "text": "±"
              },
              {
                "id": "U_00D7",
                "text": "×"
              },
              {
                "id": "U_00F7",
                "text": "÷"
              },
              {
                "id": "U_00B0",
                "text": "°"
              },
              {
                "id": "U_00B5",
                "text": "µ"
              },
              {
                "id": "U_00A9",
                "text": "©"
              },
              {
                "id": "U_00AE",
                "text": "®"
              },
              {
                "id": "U_00A3",
                "text": "£"
              },
              {
                "id": "U_20AC",
                "text": "€"
              },
              {
                "id": "U_00A5",
                "text": "¥"
              }
            ]
          },
          {
            "id": 5,
            "key": [
              {
                "id": "K_NUMLOCK",
                "text": "*123*",
                "width": "130",
                "sp": "2",
                "nextlayer": "default"
              },
              {
                "id": "K_LOPT",
                "text": "*Menu*",
                "width": "140",
                "sp": "1"
              },
              {
                "id": "K_SPACE",
                "text": " ",
                "width": "930"
              },
              {
                "id": "K_ENTER",
                "text": "*Enter*",
                "width": "145",
                "sp": "1"
              }
            ]
          }
        ]
      }
    ],
    "font": "Charis SIL",
    "fontsize": "12",
    "displayUnderlying": false
  }
}
  1. You shouldn’t add the SHIFT and DEFAULT modifiers to the id fields in the touch screen code.
  2. It looks like you use the keys both in a couple of places: you should explicitly set the layer field to the longpress keys in order to override the layer default (because the longpress on the unshifted or default layer is supposed to trigger the rule that is associated with the shift layer, and vice-versa).
  3. The DEFAULT modifier is not required in the .kmn; just use + [T_261_62] > U+0261 U+0062.

Thanks. I will have to try this tomorrow, it is too late.
I did try changing kmn file back and the touch keyboard code as such:

              {
                "id": "T_47_62",
                "text": "Gb",
                "nextlayer": "default",
                "layer": "shift"
                "sp": "1",
                "sk": [
                  {
                    "text": "ɡb",
                    "id": "T_261_62",
                    "nextlayer": "default",
                    "layer": "default"
                  },
                  {
                    "text": "g",
                    "id": "K_G"
                  },
                  {
                    "text": "G",
                    "id": "K_G",
                    "nextlayer": "default",
                    "layer": "shift"
                  }
                ]
              },

but the key is still dead.
I will play with it tomorrow.
Lee Partridge

I was reading the documentation again today and trying things and I am almost there.
I have one longkeypress that does nothing. This is the code in the .kmn and touchscreen files:
landuma.kmn file
section defining the ɡb and Gb virtual keys

c Added for touch screen gb and Gb on g
+ [T_261_62] > U+0261 U+0062 c ɡb
+ [T_47_62] > U+0047 U+0062 c Gb

landuma.keyman-touch-layout file
default section - this works perfect

              {
                "id": "T_261_62",
                "text": "ɡb",
                "sp": "1",
                "sk": [
                  {
                    "text": "Gb",
                    "id": "T_47_62"
                  },
                  {
                    "text": "g",
                    "id": "U_0067"
                  },
                  {
                    "text": "G",
                    "id": "U_0047"
                  }
                ]
              },

shift section - this works perfect except the section {"text": "ɡb","id": "T_261_62"}, it produces nothing

              {
                "id": "T_47_62",
                "text": "Gb",
                "sp": "1",
                "layer": "default",
                "sk": [
                  {
                    "text": "ɡb",
                    "id": "T_261_62"
                  },
                  {
                    "text": "g",
                    "id": "U_0067"
                  },
                  {
                    "text": "G",
                    "id": "U_0047",
                    "nextlayer": "default"
                  }
                ]
              },

I have tried different combinations of layers and I have arrived at this point.
Thanks for any help,
Lee Partridge

I don’t know why it put bullets when I pasted this in, but I have plus signs.
Lee Partridge

Regarding formatting, use the backquote character to include a snippet code, or three backquotes on a separate line to start and end larger blocks of code (see help at https://commonmark.org/help/). I’m about to edit your posts to format them so you can also see the changes there.

To fix the one last longpress key that isn’t working, you need to add just the layer override for it (highlighted below with >>>>):

"sk": [
                  {
                    "text": "ɡb",
                    "id": "T_261_62",
>>>>                "layer": "default"
                  },
...

Thanks, never heard of that. I usually send code in attachments. Do you use a backquote on both ends of the code?
Lee Partridge

Re backquote: yes, both beginning and end of the code. This is the Markdown format as documented in the link I gave above. It’s pretty common in online forums, easy to learn and a lot less messy than trying to use HTML or other complex inline formatting :slight_smile:

I really wanted that to work even although I had already tried that.
{ "text": "ɡb", "id": "T_261_62", "layer": "default" },
Lee Partridge

That should work. Can you zip and send the entire keyboard source so I can test here? (you can send me a direct message by clicking on my name if you don’t want to put your code on the public forum)

As I was reading and trying different things today I was plagued with a question. I can see how using a K_G requires a layer definition to determine the upper or lower case. But, how does a layer definition change a unicode virtual key.
Lee Partridge

I tried to upload the compressed file and it says that I can only upload files with jpg, jpeg, png, gif, tsi, kmn, kmp extensions. source.kmp (3.2 KB)
so I changed the extension to kmp. If you can download it change the extension back to tar.gz
If I had your email address I could send it that way.
Hope this works.
Lee Partridge

Hold up, I think it is working. I tried it on another phone. I have found that sometimes I have to uninstall Keyman and reinstall it to get the keyboard to work. You would think just uninstalling the keyboard and erasing the downloaded file, then redownloading it and installing would fix it, but that is not always the case. One missionary I was working with in South America ran into the same problem. I will test out all the keys tomorrow and uninstall Keyman from the other phone and see if I can get it to work. I just have to remember about that uninstalling Keyman thing.
Thanks for your help,
Lee Partridge

I couldn’t wait, I uninstall Keyman from the other phone and reinstalled it. I then downloaded the keyboard and installed it, now it works correctly.
Thanks for your help,
Lee Partridge

Imagine that T_ and U_ keys are just additional keys on a physical keyboard. Then, you can combine them with modifier keys Shift, Ctrl and Alt just as you can with a regular key on the keyboard.

Yes, we have a known issue in the app with reinstalling keyboards sometimes leaving files in cache. Are you testing on Android or iOS? Note that you can also test on your desktop which can be a lot quicker for development.

1 Like

As far as the T_262_62 I guess it showed nothing since there is no shift key of ɡb. I guess?
I am testing on Android on two phones and my Chromebook. The Chromebook is the best since the screen is larger. I would use a desktop but testing of longpress is not an option.
I notice on the phones that the key cap also shows on the longpress. On the Chromebook it does not show. Is there a reason for it showing and is there a way to turn it off on the phone?
Lee Partridge