diff --git a/repos/gems/run/sculpt.run b/repos/gems/run/sculpt.run
index 8534a43660..fda277c595 100644
--- a/repos/gems/run/sculpt.run
+++ b/repos/gems/run/sculpt.run
@@ -110,6 +110,7 @@ install_config {
 					<rom name="deploy"        label="manual_deploy.config"/>
 					<rom name="usb"           label="usb.config"/>
 					<rom name="en_us.chargen"/>
+					<rom name="fr.chargen"/>
 					<rom name="de.chargen"/>
 					<rom name="de_ch.chargen"/>
 					<rom name="special.chargen"/>
@@ -469,7 +470,7 @@ file copy -force [genode_dir]/repos/gems/run/sculpt/machine.vbox [run_dir]/genod
 file copy -force [genode_dir]/repos/gems/recipes/raw/drivers_managed-pc/drivers.config \
                  [run_dir]/genode/drivers.config
 
-foreach file { en_us.chargen de.chargen de_ch.chargen special.chargen } {
+foreach file { fr.chargen en_us.chargen de.chargen de_ch.chargen special.chargen } {
 	file copy -force [genode_dir]/repos/os/src/server/input_filter/$file \
 	                 [run_dir]/genode/$file }
 
diff --git a/repos/os/src/server/input_filter/fr.chargen b/repos/os/src/server/input_filter/fr.chargen
new file mode 100755
index 0000000000..eb33c09d9b
--- /dev/null
+++ b/repos/os/src/server/input_filter/fr.chargen
@@ -0,0 +1,183 @@
+<chargen>
+	<map>
+		<key name="KEY_ESC"        code="27"/>
+		<key name="KEY_1"          code="0x26"/> <!-- & -->
+		<key name="KEY_2"          code="0xe9"/> <!-- é -->
+		<key name="KEY_3"          code="0x22"/> <!-- " -->
+		<key name="KEY_4"          char="'"/>    <!-- ' -->
+		<key name="KEY_5"          char="("/>
+		<key name="KEY_6"          char="-"/>
+		<key name="KEY_7"          code="0xe8"/> <!-- è -->
+		<key name="KEY_8"          char="_"/>
+		<key name="KEY_9"          code="0xe7"/> <!-- ç -->
+		<key name="KEY_0"          code="0xe0"/> <!-- à -->
+		<key name="KEY_MINUS"      char=")"/>
+		<key name="KEY_EQUAL"      char="="/>
+		<key name="KEY_BACKSPACE"  code="8"/>
+		<key name="KEY_TAB"        code="9"/>
+		<key name="KEY_Q"          char="a"/>
+		<key name="KEY_W"          char="z"/>
+		<key name="KEY_E"          char="e"/>
+		<key name="KEY_R"          char="r"/>
+		<key name="KEY_T"          char="t"/>
+		<key name="KEY_Y"          char="y"/>
+		<key name="KEY_U"          char="u"/>
+		<key name="KEY_I"          char="i"/>
+		<key name="KEY_O"          char="o"/>
+		<key name="KEY_P"          char="p"/>
+		<key name="KEY_RIGHTBRACE" char="$"/>
+		<key name="KEY_ENTER"      code="10"/>
+		<key name="KEY_A"          char="q"/>
+		<key name="KEY_S"          char="s"/>
+		<key name="KEY_D"          char="d"/>
+		<key name="KEY_F"          char="f"/>
+		<key name="KEY_G"          char="g"/>
+		<key name="KEY_H"          char="h"/>
+		<key name="KEY_J"          char="j"/>
+		<key name="KEY_K"          char="k"/>
+		<key name="KEY_L"          char="l"/>
+		<key name="KEY_SEMICOLON"  char="m"/>
+		<key name="KEY_APOSTROPHE" code="0xf9"/> <!-- ù -->
+		<key name="KEY_GRAVE"      code="0xb2"/> <!-- ² -->
+		<key name="KEY_BACKSLASH"  char="*"/>
+		<key name="KEY_102ND"      code="0x3c"/> <!-- less-than -->
+		<key name="KEY_Z"          char="w"/>
+		<key name="KEY_X"          char="x"/>
+		<key name="KEY_C"          char="c"/>
+		<key name="KEY_V"          char="v"/>
+		<key name="KEY_B"          char="b"/>
+		<key name="KEY_N"          char="n"/>
+		<key name="KEY_M"          code="44"/>
+		<key name="KEY_COMMA"      char=";"/>
+		<key name="KEY_DOT"        char=":"/>
+		<key name="KEY_SLASH"      char="!"/>
+		<key name="KEY_SPACE"      char=" "/>
+		<key name="KEY_KP7"        char="7"/>
+		<key name="KEY_KP8"        char="8"/>
+		<key name="KEY_KP9"        char="9"/>
+		<key name="KEY_KPMINUS"    char="-"/>
+		<key name="KEY_KP4"        char="4"/>
+		<key name="KEY_KP5"        char="5"/>
+		<key name="KEY_KP6"        char="6"/>
+		<key name="KEY_KPPLUS"     char="+"/>
+		<key name="KEY_KP1"        char="1"/>
+		<key name="KEY_KP2"        char="2"/>
+		<key name="KEY_KP3"        char="3"/>
+		<key name="KEY_KP0"        char="0"/>
+		<key name="KEY_KPDOT"      char="."/>
+		<key name="KEY_KPENTER"    code="10"/>
+		<key name="KEY_KPSLASH"    char="/"/>
+		<key name="KEY_KPASTERISK" char="*"/>
+	</map>
+	<map mod1="yes">
+		<key name="KEY_1"          char="1"/>
+		<key name="KEY_2"          char="2"/>
+		<key name="KEY_3"          char="3"/>
+		<key name="KEY_4"          char="4"/>
+		<key name="KEY_5"          char="5"/>
+		<key name="KEY_6"          char="6"/>
+		<key name="KEY_7"          char="7"/>
+		<key name="KEY_8"          char="8"/>
+		<key name="KEY_9"          char="9"/>
+		<key name="KEY_0"          char="0"/>
+		<key name="KEY_MINUS"      code="0xb0"/> <!-- ° -->
+		<key name="KEY_EQUAL"      char="+"/>
+		<key name="KEY_Q"          char="A"/>
+		<key name="KEY_W"          char="Z"/>
+		<key name="KEY_E"          char="E"/>
+		<key name="KEY_R"          char="R"/>
+		<key name="KEY_T"          char="T"/>
+		<key name="KEY_Y"          char="Y"/>
+		<key name="KEY_U"          char="U"/>
+		<key name="KEY_I"          char="I"/>
+		<key name="KEY_O"          char="O"/>
+		<key name="KEY_P"          char="P"/>
+		<key name="KEY_RIGHTBRACE" code="0xa3"/> <!-- £ -->
+		<key name="KEY_A"          char="Q"/>
+		<key name="KEY_S"          char="S"/>
+		<key name="KEY_D"          char="D"/>
+		<key name="KEY_F"          char="F"/>
+		<key name="KEY_G"          char="G"/>
+		<key name="KEY_H"          char="H"/>
+		<key name="KEY_J"          char="J"/>
+		<key name="KEY_K"          char="K"/>
+		<key name="KEY_L"          char="L"/>
+		<key name="KEY_SEMICOLON"  char="M"/>
+		<key name="KEY_APOSTROPHE" char="%"/>
+		<key name="KEY_GRAVE"      code="0xb3"/> <!-- ³ -->
+		<key name="KEY_BACKSLASH"  code="0xb5"/> <!-- µ -->
+		<key name="KEY_102ND"      code="0x3e"/> <!-- greater-than -->
+		<key name="KEY_Z"          char="W"/>
+		<key name="KEY_X"          char="X"/>
+		<key name="KEY_C"          char="C"/>
+		<key name="KEY_V"          char="V"/>
+		<key name="KEY_B"          char="B"/>
+		<key name="KEY_N"          char="N"/>
+		<key name="KEY_M"          char="?"/>
+		<key name="KEY_COMMA"      char="."/>
+		<key name="KEY_DOT"        char="/"/>
+		<key name="KEY_SLASH"      code="0xa7"/> <!-- § -->
+	</map>
+	<map mod2="yes">
+		<key name="KEY_A" code="1"/>
+		<key name="KEY_B" code="2"/>
+		<key name="KEY_C" code="3"/>
+		<key name="KEY_D" code="4"/>
+		<key name="KEY_E" code="5"/>
+		<key name="KEY_F" code="6"/>
+		<key name="KEY_G" code="7"/>
+		<key name="KEY_H" code="8"/>
+		<key name="KEY_I" code="9"/>
+		<key name="KEY_J" code="10"/>
+		<key name="KEY_K" code="11"/>
+		<key name="KEY_L" code="12"/>
+		<key name="KEY_M" code="13"/>
+		<key name="KEY_N" code="14"/>
+		<key name="KEY_O" code="15"/>
+		<key name="KEY_P" code="16"/>
+		<key name="KEY_Q" code="17"/>
+		<key name="KEY_R" code="18"/>
+		<key name="KEY_S" code="19"/>
+		<key name="KEY_T" code="20"/>
+		<key name="KEY_U" code="21"/>
+		<key name="KEY_V" code="22"/>
+		<key name="KEY_W" code="23"/>
+		<key name="KEY_X" code="24"/>
+		<key name="KEY_Y" code="25"/>
+		<key name="KEY_Z" code="26"/>
+	</map>
+	<map mod3="yes">
+		<key name="KEY_ESC"        code="27"/>
+		<key name="KEY_2"          char="~"/>
+		<key name="KEY_3"          char="3"/>
+		<key name="KEY_3"          char="#"/>
+		<key name="KEY_4"          char="{"/>
+		<key name="KEY_5"          char="["/>
+		<key name="KEY_6"          char="|"/>
+		<key name="KEY_7"          char="`"/>
+		<key name="KEY_8"          code="92"/>  <!-- \ -->
+		<key name="KEY_9"          char="^"/>
+		<key name="KEY_0"          char="@"/>
+		<key name="KEY_MINUS"      char="]"/>
+		<key name="KEY_EQUAL"      char="}"/>
+		<key name="KEY_E"          code="0x20ac"/> <!-- € -->
+		<key name="KEY_RIGHTBRACE" code="0xa4"/>   <!-- ¤ -->
+	</map>
+	<mod4>
+		<key name="KEY_LEFTBRACE"/>
+	</mod4>
+	<map mod4="yes">
+		<key name="KEY_Q"          code="0xe2"/> <!-- â -->
+		<key name="KEY_E"          code="0xea"/> <!-- ê -->
+		<key name="KEY_U"          code="0xfb"/> <!-- û -->
+		<key name="KEY_I"          code="0xee"/> <!-- î -->
+		<key name="KEY_O"          code="0xf4"/> <!-- ô -->
+	</map>
+	<map mod1="yes" mod4="yes">
+		<key name="KEY_Q"          code="0xe4"/> <!-- ä -->
+		<key name="KEY_E"          code="0xeb"/> <!-- ë -->
+		<key name="KEY_U"          code="0xfc"/> <!-- ü -->
+		<key name="KEY_I"          code="0xef"/> <!-- ï -->
+		<key name="KEY_O"          code="0xf6"/> <!-- ö -->
+	</map>
+</chargen>