diff --git a/res/layouts/pages/settings_controls.xml b/res/layouts/pages/settings_controls.xml
index d61e3e5b..32156284 100644
--- a/res/layouts/pages/settings_controls.xml
+++ b/res/layouts/pages/settings_controls.xml
@@ -4,6 +4,9 @@
min='0.1' max='10' value='2' step='0.1'
consumer='change_sensitivity'>
+
+
+
diff --git a/res/layouts/pages/settings_controls.xml.lua b/res/layouts/pages/settings_controls.xml.lua
index c7c8632c..e975d9c4 100644
--- a/res/layouts/pages/settings_controls.xml.lua
+++ b/res/layouts/pages/settings_controls.xml.lua
@@ -1,3 +1,32 @@
+
+function refresh_search()
+ local search_text = document.search_textbox.text
+ local search_key = document.search_key_checkbox.checked
+
+ local panel = document.bindings_panel
+ local bindings = input.get_bindings()
+ panel:clear()
+
+ table.sort(bindings, function(a, b) return a > b end)
+ if search_text ~= "" then
+ for i,name in ipairs(bindings) do
+ local _name = gui.str(name)
+ if ((_name:lower():find(search_text:lower()) and not search_key) or
+ (input.get_binding_text(name):lower():find(search_text:lower()) and search_key)) then
+ panel:add(gui.template("binding", {
+ id=name, name=_name
+ }))
+ end
+ end
+ else
+ for i,name in ipairs(bindings) do
+ panel:add(gui.template("binding", {
+ id=name, name=gui.str(name)
+ }))
+ end
+ end
+end
+
function refresh_sensitivity()
document.sensitivity_label.text = string.format(
"%s: %s",
@@ -15,6 +44,11 @@ function on_open()
document.sensitivity_track.value = core.get_setting("camera.sensitivity")
refresh_sensitivity()
+ document.search_panel:add(string.format(
+ "%s",
+ gui.str("controls.key.tooltip", "settings"), gui.str("Key", "settings")
+ ))
+
local panel = document.bindings_panel
local bindings = input.get_bindings()
table.sort(bindings, function(a, b) return a > b end)
diff --git a/res/texts/en_US.txt b/res/texts/en_US.txt
index de5d950a..3f6d1c74 100644
--- a/res/texts/en_US.txt
+++ b/res/texts/en_US.txt
@@ -14,6 +14,7 @@ world.generators.flat=Flat
# Tooltips
graphics.gamma.tooltip=Lighting brightness curve
graphics.backlight.tooltip=Backlight to prevent total darkness
+controls.key.tooltip=Search by attached button name
# Bindings
chunks.reload=Reload Chunks
diff --git a/res/texts/ru_RU.txt b/res/texts/ru_RU.txt
index cd2168b2..c318af01 100644
--- a/res/texts/ru_RU.txt
+++ b/res/texts/ru_RU.txt
@@ -20,6 +20,7 @@ pack.remove-confirm=Удалить весь поставляемый паком/
# Подсказки
graphics.gamma.tooltip=Кривая яркости освещения
graphics.backlight.tooltip=Подсветка, предотвращающая полную темноту
+controls.key.tooltip=Поиск по привязвнной кнопки управления
# Меню
menu.Apply=Применить
@@ -70,6 +71,7 @@ settings.Music=Музыка
settings.Regular Sounds=Обычные Звуки
settings.UI Sounds=Звуки Интерфейса
settings.V-Sync=Вертикальная Синхронизация
+settings.Key=Кнопка
# Управление
chunks.reload=Перезагрузить Чанки