<?xml version="1.0" encoding="UTF-8"?>
<!-- Note: similar to, but slightly ahead of, fr-t-k0-azerty -->
<keyboard3 xmlns="https://schemas.unicode.org/cldr/45/keyboard3" locale="fr-t-k0-azerty" conformsTo="45">
	<locales>
		<locale id="br" /> <!-- example of including Breton -->
	</locales>
	<!-- 'conformsTo' gives CLDR spec conformance. Distinguishes from prior
		keyboard formats -->
	<!-- 'version' element is now optional -->
	<version number="1.0.1" />
	<info author="Team Keyboard"
		layout="AZERTY" indicator="FR" name="French Test Updated" />

	<displays>
		<!-- Note: displays is only used for keycap presentation -->
		<!-- this example is not required for this keyboard as we use the spacing
			modifiers -->
		<display output="\u{0300}" display="\u{02CB}" /> <!-- display combining grave as modifier letter
		grave ˋ -->
		<!-- Note: We discussed why the existing displayMap was used for display.
			rather than adding something closer to the key layout. 1. This way we can
			tell the renderer what to do. Could be double diacritics, spacing issues,
			etc. 2. We expect that keys have output. Otherwise the input content is malformed.
			3. Don't Repeat Yourself : multiple keys (i.e. on different symbol layers)
			may have the same display. -->
		<displayOptions baseCharacter="x" />
	</displays>

	<keys>
		<import base="cldr" path="45/keys-Zyyy-punctuation.xml" />
		<import base="cldr" path="45/keys-Zyyy-currency.xml" />

		<!-- switch keys -->
		<key id="shift" layerId="shift" />
		<key id="numeric" layerId="numeric" />
		<key id="symbol" layerId="symbol" />
		<key id="base" layerId="base" />

		<!-- TODO-LDML -->
		<key id="bksp" gap="true" />
		<!-- TODO-LDML -->
		<key id="extra" gap="true" />
		<!-- TODO-LDML -->
		<key id="enter" output="\u{000A}" />

		<!-- extra keys -->
		<key id="u-grave" output="ü" />
		<key id="e-grave" output="é" /> <!-- 2 -->
		<key id="e-acute" output="è" /> <!-- 7 -->
		<key id="c-cedilla" output="ç" /> <!-- 9 -->
		<key id="a-grave" output="à" />
		<key id="a-acute" output="á" />
		<key id="a-caret" output="â" />
		<key id="a-umlaut" output="ä" />
		<key id="a-tilde" output="ã" />
		<key id="a-ring" output="å" />
		<key id="a-caron" output="ā" />

		<key id="A-grave" output="À" /> <!-- 0 -->
		<key id="A-acute" output="Á" />
		<key id="A-caret" output="Â" />
		<key id="A-umlaut" output="Ä" />
		<key id="A-tilde" output="Ã" />
		<key id="A-ring" output="Å" />
		<key id="A-caron" output="Ā" />

		<!-- extra symbols -->
		<key id="bullet" output="•" />
		<key id="umlaut" output="¨" />
		<key id="sub-2" output="₂" />
		<key id="super-2" output="²" longPressKeyIds="sub-2" />

		<!-- test key -->
		<!-- note that a-caret is the default-->
		<key id="a" flickId="a" output="a"
			longPressKeyIds="a-grave a-caret a-acute a-umlaut a-tilde a-ring a-caron"
			longPressDefaultKeyId="a-caret" />
		<key id="A" flickId="b" output="A"
			longPressKeyIds="A-grave A-caret A-acute A-umlaut a-tilde A-ring A-caron"
			longPressDefaultKeyId="A-caret" />
		<!-- TODO: all additional maps, hardware and touch -->
	</keys>

	<flicks>
		<flick id="b">
			<flickSegment directions="nw" keyId="A-grave" />
			<flickSegment directions="nw se" keyId="A-acute" />
			<flickSegment directions="e" keyId="A-caron" />
			<flickSegment directions="s" keyId="numeric" /> <!-- layer shifting flick-->
		</flick>
		<flick id="a">
			<flickSegment directions="nw" keyId="a-grave" />
			<flickSegment directions="nw se" keyId="a-acute" />
			<flickSegment directions="e" keyId="a-caron" />
		</flick>
	</flicks>

	<layers
		formId="iso">
		<!-- in DTD: required if conformsTo ≥ 41 -->
		<layer modifiers="none">
			<row
				keys="super-2 amp e-grave double-quote apos open-paren hyphen e-acute underscore c-cedilla a-acute close-paren equal" />
			<row keys="a z e r t y u i o p caret dollar" />
			<row keys="q s d f g h j k l m u-grave asterisk" />
			<row keys="open-angle w x c v b n comma semi-colon colon bang" />
			<row keys="space" />
		</layer>

		<layer modifiers="shift">
			<row keys="1 2 3 4 5 6 7 8 9 0 degree plus" />
			<row keys="A Z E R T Y U I O P umlaut pound" />
			<row keys="Q S D F G H J K L M percent micro" />
			<row keys="close-angle W X C V B N question period slash section" />
			<row keys="space" />
		</layer>
	</layers>

	<layers formId="touch"
		minDeviceWidth="150">
		<!-- optional attribute for min physical device size -->
		<layer id="base">
			<row keys="a z e r t y u i o p" />
			<row keys="q s d f g h j k l m" />
			<row keys="shift gap w x c v b n gap" /> <!--TODO:  + bksp -->
			<row keys="numeric extra space enter" />
		</layer>

		<layer id="shift">
			<row keys="A Z E R T Y U I O P" />
			<row keys="Q S D F G H J K L M" />
			<row keys="base W X C V B N" />  <!--TODO:  + bksp -->
			<row keys="numeric extra space enter" />
		</layer>

		<layer id="numeric">
			<row keys="1 2 3 4 5 6 7 8 9 0" />
			<row
				keys="hyphen slash colon semi-colon open-paren close-paren dollar amp at double-quote" />
			<row keys="symbol period comma question bang double-quote" /> <!--TODO:  + bksp -->
			<row keys="base extra space enter" />
		</layer>

		<layer id="symbol">
			<row
				keys="open-square close-square open-curly close-curly hash percent caret asterisk plus equal" />
			<row keys="underscore backslash pipe tilde open-angle close-angle euro pound yen bullet" />
			<row keys="numeric period comma question bang double-quote" /> <!--TODO:  + bksp -->
			<row keys="base extra space enter" />
		</layer>
	</layers>

	<transforms
		type="simple">
		<transformGroup>
			<transform from="` " to="`" />
			<transform from="`a" to="à" />
			<transform from="`A" to="À" />
			<transform from="`e" to="è" />
			<transform from="`E" to="È" />
			<transform from="`i" to="ì" />
			<transform from="`I" to="Ì" />
			<transform from="`o" to="ò" />
			<transform from="`O" to="Ò" />
			<transform from="`u" to="ù" />
			<transform from="`U" to="Ù" />
			<transform from="^ " to="^" />
			<transform from="^a" to="â" />
			<transform from="^A" to=" " />
			<transform from="^e" to="ê" />
			<transform from="^E" to="Ê" />
			<transform from="^i" to="î" />
			<transform from="^I" to="Î" />
			<transform from="^o" to="ô" />
			<transform from="^O" to="Ô" />
			<transform from="^u" to="û" />
			<transform from="^U" to="Û" />
			<transform from="¨ " to="¨" />
			<transform from="¨a" to="ä" />
			<transform from="¨A" to="Ä" />
			<transform from="¨e" to="ë" />
			<transform from="¨E" to="Ë" />
			<transform from="¨i" to="ï" />
			<transform from="¨I" to="Ï" />
			<transform from="¨o" to="ö" />
			<transform from="¨O" to="Ö" />
			<transform from="¨u" to="ü" />
			<transform from="¨U" to="Ü" />
			<transform from="¨y" to="ÿ" />
			<transform from="~ " to="~" />
			<transform from="~a" to="ã" />
			<transform from="~A" to="Ã" />
			<transform from="~n" to="ñ" />
			<transform from="~N" to="Ñ" />
			<transform from="~o" to="õ" />
			<transform from="~O" to="Õ" />
		</transformGroup>
	</transforms>

</keyboard3>
