Ubuntu использует GConf для хранения настроек. Похоже на реестр Windows. Эти клавиши предназначены для хранения глобальных ярлыков. Чтобы настроить глобальные настройки клавиш, вы должны иметь дело с GTK Поэтому установите эти пакеты:
И добавьте в ваш файл .pro
следующие строки:
INCLUDEPATH += /usr/include/gconfmm-2.6\
/usr/include/glibmm-2.4\
/usr/lib/glibmm-2.4/include\
/usr/include/glib-2.0\
/usr/lib/glib-2.0/include\
/usr/include/sigc++-2.0\
/usr/lib/sigc++-2.0/include\
/usr/include/gconf/2
LIBS += -L/usr/lib -lgconfmm-2.6
, затем вам нужно создать новый .cpp
файл или класс, потому что вы не можете включить заголовки Qt и GTK в один файл.
#include <gconfmm.h>
using namespace Gnome;
и основная часть:
Conf::init();
try
{
Glib::RefPtr<Conf::Client> pointer(Conf::Client::get_default_client());
pointer->set("/apps/metacity/keybinding_commands/command_2",Glib::ustring("gedit"));
pointer->set("/apps/metacity/global_keybindings/run_command_2",Glib::ustring("<Control><Alt>e"));
}
catch(Conf::Error error)
{
std::cerr << "Error code: " << error.code();
}
Вы можете использовать все предопределенные ключи вместо command_2
(например, command_screenshot
), и вы можете создавать свои собственные ключи, такие как
/apps/metacity/keybinding_commands/command_textedit
/apps/metacity/global_keybindings/run_command_textedit
но вам также нужно настроить схемы для своих пользовательских ключей (я не знаю, как это сделать, я новичок в GTK). После выполнения кода ярлыки работают хорошо.