Br-Nativo is a keyboard layout based on the concepts of the Dvorak keyboard and adapted to the Portuguese language, according to Brazilian writing.
http://www.xahlee.info/kbd/pt-nativo_keyboard_layout.html
here is the source code:
c
c Keyman keyboard generated by ImportKeyboard
c Imported: 2019-07-29 14:00:00
c
c Source Keyboard File: KBDBR.DLL
c Source KeyboardID: 00000416
c
c
store(&VERSION) ‘10.0’
store(&NAME) ‘Portuguese (Brazilian) Nativo’
store(&TARGETS) ‘any’
store(&VISUALKEYBOARD) ‘basic_kbdbr.kvks’
store(&BITMAP) ‘basic_kbdbr.ico’
store(&LAYOUTFILE) ‘basic_kbdbr.keyman-touch-layout’
store(©RIGHT) ‘© 2009-2019 SIL International’
store(&KEYBOARDVERSION) ‘1.0’
begin Unicode > use(main)
group(main) using keys
-
[K_SPACE] > U+0020
-
[K_0] > U+0030
-
[SHIFT K_0] > U+0029
-
[K_1] > U+0031
-
[SHIFT K_1] > U+0021
-
[RALT K_1] > U+00b9
-
[K_2] > U+0032
-
[SHIFT K_2] > U+0040
-
[RALT K_2] > U+00b2
-
[K_3] > U+0033
-
[SHIFT K_3] > U+0023
-
[RALT K_3] > U+00b3
-
[K_4] > U+0034
-
[SHIFT K_4] > U+0024
-
[RALT K_4] > U+00a3
-
[K_5] > U+0035
-
[SHIFT K_5] > U+0025
-
[RALT K_5] > U+007c
-
[K_6] > U+0036
-
[SHIFT K_6] > dk(00a8)
-
[RALT K_6] > U+00ac
-
[K_7] > U+0037
-
[SHIFT K_7] > U+0026
-
[K_8] > U+0038
-
[SHIFT K_8] > U+002a
-
[K_9] > U+0039
-
[SHIFT K_9] > U+0028
-
[NCAPS K_A] > U+0069
-
[CAPS K_A] > U+0049
-
[NCAPS SHIFT K_A] > U+0049
-
[CAPS SHIFT K_A] > U+0069
-
[NCAPS K_B] > U+006b
-
[CAPS K_B] > U+004b
-
[NCAPS SHIFT K_B] > U+004b
-
[CAPS SHIFT K_B] > U+006b
-
[NCAPS K_C] > U+006a
-
[CAPS K_C] > U+004a
-
[NCAPS SHIFT K_C] > U+004a
-
[CAPS SHIFT K_C] > U+004a
-
[NCAPS RALT K_C] > U+005c
-
[NCAPS K_D] > U+0061
-
[CAPS K_D] > U+0041
-
[NCAPS SHIFT K_D] > U+0041
-
[CAPS SHIFT K_D] > U+0061
-
[NCAPS K_E] > U+002e
-
[CAPS K_E] > U+002e
-
[NCAPS SHIFT K_E] > U+003e
-
[CAPS SHIFT K_E] > U+003e
-
[NCAPS RALT K_E] > U+003e
-
[NCAPS K_F] > U+006F
-
[CAPS K_F] > U+004f
-
[NCAPS SHIFT K_F] > U+004f
-
[CAPS SHIFT K_F] > U+006F
-
[NCAPS K_G] > U+0075
-
[CAPS K_G] > U+0055
-
[NCAPS SHIFT K_G] > U+0055
-
[CAPS SHIFT K_G] > U+0075
-
[NCAPS K_H] > U+006d
-
[CAPS K_H] > U+004d
-
[NCAPS SHIFT K_H] > U+004d
-
[CAPS SHIFT K_H] > U+006d
-
[NCAPS K_I] > U+0074
-
[CAPS K_I] > U+0054
-
[NCAPS SHIFT K_I] > U+0054
-
[CAPS SHIFT K_I] > U+0074
-
[NCAPS K_J] > U+0064
-
[CAPS K_J] > U+0044
-
[NCAPS SHIFT K_J] > U+0044
-
[CAPS SHIFT K_J] > U+0064
-
[NCAPS K_K] > U+0073
-
[CAPS K_K] > U+0053
-
[NCAPS SHIFT K_K] > U+0053
-
[CAPS SHIFT K_K] > U+0073
-
[NCAPS K_L] > U+0072
-
[CAPS K_L] > U+0052
-
[NCAPS SHIFT K_L] > U+0052
-
[CAPS SHIFT K_L] > U+0072
-
[NCAPS K_M] > U+0076
-
[CAPS K_M] > U+0056
-
[NCAPS SHIFT K_M] > U+0056
-
[CAPS SHIFT K_M] > U+0076
-
[NCAPS K_N] > U+0071
-
[CAPS K_N] > U+0051
-
[NCAPS SHIFT K_N] > U+0051
-
[CAPS SHIFT K_N] > U+0071
-
[NCAPS K_O] > U+0063
-
[CAPS K_O] > U+0043
-
[NCAPS SHIFT K_O] > U+0043
-
[CAPS SHIFT K_O] > U+0063
-
[NCAPS K_P] > U+0070
-
[CAPS K_P] > U+0050
-
[NCAPS SHIFT K_P] > U+0050
-
[CAPS SHIFT K_P] > U+0070
-
[NCAPS K_Q] > U+002F
-
[CAPS K_Q] > U+003F
-
[NCAPS SHIFT K_Q] > U+003F
-
[CAPS SHIFT K_Q] > U+002F
-
[NCAPS RALT K_Q] > U+003F
-
[NCAPS K_R] > U+0068
-
[CAPS K_R] > U+0048
-
[NCAPS SHIFT K_R] > U+0048
-
[CAPS SHIFT K_R] > U+0068
-
[NCAPS K_S] > U+0065
-
[CAPS K_S] > U+0045
-
[NCAPS SHIFT K_S] > U+0045
-
[CAPS SHIFT K_S] > U+0065
-
[NCAPS K_T] > U+0078
-
[CAPS K_T] > U+0058
-
[NCAPS SHIFT K_T] > U+0058
-
[CAPS SHIFT K_T] > U+0078
-
[NCAPS K_U] > U+006C
-
[CAPS K_U] > U+004C
-
[NCAPS SHIFT K_U] > U+004C
-
[CAPS SHIFT K_U] > U+006C
-
[NCAPS K_V] > U+0062
-
[CAPS K_V] > U+0042
-
[NCAPS SHIFT K_V] > U+0042
-
[CAPS SHIFT K_V] > U+0062
-
[NCAPS K_W] > U+002C
-
[CAPS K_W] > U+003C
-
[NCAPS SHIFT K_W] > U+003C
-
[CAPS SHIFT K_W] > U+002C
-
[NCAPS RALT K_W] > U+003C
-
[NCAPS K_X] > U+00E7
-
[CAPS K_X] > U+00C7
-
[NCAPS SHIFT K_X] > U+00C7
-
[CAPS SHIFT K_X] > U+00E7
-
[NCAPS K_Y] > U+0077
-
[CAPS K_Y] > U+0057
-
[NCAPS SHIFT K_Y] > U+0057
-
[CAPS SHIFT K_Y] > U+0077
-
[NCAPS K_Z] > U+0079
-
[CAPS K_Z] > U+0059
-
[NCAPS SHIFT K_Z] > U+0059
-
[CAPS SHIFT K_Z] > U+0079
-
[NCAPS K_COLON] > U+006e
-
[CAPS K_COLON] > U+004e
-
[NCAPS SHIFT K_COLON] > U+004e
-
[CAPS SHIFT K_COLON] > U+006e
-
[K_EQUAL] > U+005D
-
[SHIFT K_EQUAL] > U+007d
-
[RALT K_EQUAL] > U+00ba
-
[K_COMMA] > U+0067
-
[SHIFT K_COMMA] > U+0047
-
[K_HYPHEN] > U+005B
-
[SHIFT K_HYPHEN] > U+007B
-
[RALT K_HYPHEN] > U+00aa
-
[K_PERIOD] > U+0066
-
[SHIFT K_PERIOD] > U+0046
-
[K_SLASH] > U+007a
-
[SHIFT K_SLASH] > U+005a
-
[K_BKQUOTE] > U+003d
-
[SHIFT K_BKQUOTE] > U+002b
-
[RALT K_BKQUOTE] > U+00a7
-
[K_?C1] > U+002f
-
[SHIFT K_?C1] > U+003f
-
[RALT K_?C1] > U+00b0
-
[K_?C2] > U+002e
-
[SHIFT K_?C2] > U+002e
-
[K_LBRKT] > dk(00b4)
-
[SHIFT K_LBRKT] > dk(0060)
-
[K_BKSLASH] > U+0027
-
[SHIFT K_BKSLASH] > U+0022
-
[K_RBRKT] > U+002d
-
[SHIFT K_RBRKT] > U+005f
-
[K_QUOTE] > dk(007e)
-
[SHIFT K_QUOTE] > dk(005e)
-
[K_oE2] > U+003b
-
[SHIFT K_oE2] > U+003a
match > use(deadkeys)
group(deadkeys)
store(dkf00a8) U+0020 U+0061 U+0041 U+0065 U+0045 U+0069 U+0049 U+006f U+004f U+0075 U+0055 U+0079
store(dkt00a8) U+00a8 U+00e4 U+00c4 U+00eb U+00cb U+00ef U+00cf U+00f6 U+00d6 U+00fc U+00dc U+00ff
dk(00a8) any(dkf00a8) > index(dkt00a8, 2)
store(dkf00b4) U+0020 U+0061 U+0041 U+0065 U+0045 U+0069 U+0049 U+006f U+004f U+0075 U+0055 U+0079 U+0059
store(dkt00b4) U+00b4 U+00e1 U+00c1 U+00e9 U+00c9 U+00ed U+00cd U+00f3 U+00d3 U+00fa U+00da U+00fd U+00dd
dk(00b4) any(dkf00b4) > index(dkt00b4, 2)
store(dkf0060) U+0020 U+0061 U+0041 U+0065 U+0045 U+0069 U+0049 U+006f U+004f U+0075 U+0055
store(dkt0060) U+0060 U+00e0 U+00c0 U+00e8 U+00c8 U+00ec U+00cc U+00f2 U+00d2 U+00f9 U+00d9
dk(0060) any(dkf0060) > index(dkt0060, 2)
store(dkf007e) U+0020 U+0061 U+0041 U+006e U+004e U+006f U+004f
store(dkt007e) U+007e U+00e3 U+00c3 U+00f1 U+00d1 U+00f5 U+00d5
dk(007e) any(dkf007e) > index(dkt007e, 2)
store(dkf005e) U+0020 U+0061 U+0041 U+0065 U+0045 U+0069 U+0049 U+006f U+004f U+0075 U+0055
store(dkt005e) U+005e U+00e2 U+00c2 U+00ea U+00ca U+00ee U+00ce U+00f4 U+00d4 U+00fb U+00db
dk(005e) any(dkf005e) > index(dkt005e, 2)
5 posts - 2 participants