diff --git a/res/drawable/ic_modifier_keys_reset.xml b/res/drawable/ic_modifier_keys_reset.xml
new file mode 100644
index 00000000000..a8cc1984c94
--- /dev/null
+++ b/res/drawable/ic_modifier_keys_reset.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/drawable/modifier_key_bordered.xml b/res/drawable/modifier_key_bordered.xml
new file mode 100644
index 00000000000..17f0090a678
--- /dev/null
+++ b/res/drawable/modifier_key_bordered.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/drawable/modifier_key_colored.xml b/res/drawable/modifier_key_colored.xml
new file mode 100644
index 00000000000..2bb033b5def
--- /dev/null
+++ b/res/drawable/modifier_key_colored.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+ -
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/drawable/modifier_key_lisetview_background.xml b/res/drawable/modifier_key_lisetview_background.xml
new file mode 100644
index 00000000000..b65c61ee122
--- /dev/null
+++ b/res/drawable/modifier_key_lisetview_background.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+ -
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/layout/modifier_key_item.xml b/res/layout/modifier_key_item.xml
new file mode 100644
index 00000000000..7bd344c8bb2
--- /dev/null
+++ b/res/layout/modifier_key_item.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/res/layout/modifier_key_picker_dialog.xml b/res/layout/modifier_key_picker_dialog.xml
new file mode 100644
index 00000000000..86003480ecd
--- /dev/null
+++ b/res/layout/modifier_key_picker_dialog.xml
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/layout/modifier_key_reset_dialog.xml b/res/layout/modifier_key_reset_dialog.xml
new file mode 100644
index 00000000000..fd38b11d5a8
--- /dev/null
+++ b/res/layout/modifier_key_reset_dialog.xml
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9c93dd8edef..54a6d9c9d66 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3709,6 +3709,37 @@
Swipe left or right with four fingers
+
+ Modifier keys
+
+ Change the behavior of keys
+
+
+ Caps lock
+
+ Ctrl
+
+ Meta
+
+ Alt
+
+
+ Reset all
+
+ Default
+
+ Are you sure you would like to reset all the modifier keys to their default?
+
+ Done
+
+ Cancel
+
+ Restore
+
+ Choose modifier key
+
+ Choose a new key for %1$s:
+
Default
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 20ebe255fa2..c2622641423 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -378,6 +378,20 @@
- @color/ripple_material_inverse
+
+
+
+