2010-07-14 3 views
2

Я могу создавать сочетания клавиш для Ctrl-F1 и Ctrl-F2, заставляя их запускать скрипт, используя интерфейс Control Center, раздел «Действия ввода». Представляющая интерес платформа представляет собой KDE 3.5 на CentOS 5 в настоящее время, но 4.x также имеет менее непосредственный интерес.Как создать программные клавиши в KDE?

Мне нужно, однако, создать те же ярлыки из сценария оболочки, которые запускаются после установки RPM: этот RPM создает пользователя, а затем полностью конфигурирует его среду KDE. До сих пор я мог делать такие вещи, как

cat > kdesktoprc <<- EOM 
[Desktop0] 
WallpaperMode=NoWallpaper 
EOM 

, а затем при первом входе в систему KDE оттуда отлично подобрался. Я предполагаю, что я пытаюсь сделать это в соответствии с этой конкретной учетной записью, но я не хочу вмешиваться в какую-либо другую текущую или будущую учетную запись на .

К сожалению, я не смог выполнить ту же работу с помощью ввода Действия, чья конфигурация несколько больше задействована. Перед тем, как попытаться ответить , чтобы разгадать его дальше, я решил спросить, есть ли лучший способ.

Другими словами, есть ли команда создания сочетания клавиш (я не думаю, что я могу использовать DCOP, потому что KDE в данный момент не работает)?

Я снял намеки на механизм kconf_update, но не смог выяснить, подходит ли это для моего использования: есть ли доступная ссылка?

Спасибо заранее,

ответ

2

Я нашел подход, который, как представляется, работать. Во-первых, я создаю файл .khotkeys, назовите его zzz.khotkeys и сохраните его в каталоге/usr/hsare/apps/khotkeys. Хорошая отправной точкой для этого является файл printscreen.khotkeys.

Этот .khotkeys файл состоит из двух разделов, раздел [Data] с определением (ами) горячих клавиш, а также раздел [Main], где среди других ключей мы имеем

Id=zzz 

, который используется для запоминания, которые ключевые определения уже импортированы.

Чтобы поместить определения в zzz.khotkeys в силу, вы могли бы использовать этот

/usr/lib/kconf_update_bin/khotkeys_update --id zzz 

, который, кажется, чтобы вызвать функциональность, эквивалентную кнопку «Импорт» в «Ввод действие» пользовательский интерфейс.

Этот шаг включает в себя ряд препятствий в моем сценарии, который запускает все из abovce в% post скрипта установки RPM.

Во-первых, khotkeys_update терпит неудачу, если он не может связаться с X-сервером; на поверхности это кажется глупым, так как ему нужно только выполнить текстовые споры, , но это можно решить, разместив его вызов в файле .desktop в .kde/Autostart.

Во-вторых, khotkeys_update не похож на опубликованный интерфейс , на который можно положиться в течение долгого времени; так как это для CentOS/KDE 3.5 в контекст, где ожидается небольшая эволюция, я пользуюсь привилегией , считая это второстепенной проблемой. Если есть опубликованный (shell) интерфейс для , выполните импорт, я не смог его найти (я не исследовал DCOP).

В конце концов, тот же сценарий, который непосредственно настроить другую конфигурацию файлы под .kde/доли/конфигурации также добавляет под .kde/Autostart файл с именем ZZZ-keys.desktop, который выглядит как

[Desktop Entry] 
Encoding=UTF-8 
Type=Application 
Name=ZZZ Hotkeys 
Comment=Ensure ZZZ keyboard shortctus are available 
Exec=/usr/lib/kconf_update_bin/khotkeys_update --id zzz 

, который получает горячие клавиши, добавленные в первый раз (они заканчиваются внутри khotkeysrc) и пропускается при последующих вызовах, так как khotkeysrc включает в себя ключ имя AlreadyInstalled, которое также обновляется, чтобы включить «zzz», поэтому на последующие прогоны khotkeys_update находит это и не добавляет дубликатов.

+0

Это похоже на похожее в KDE4, но я еще не нашел способ импортировать файл. '/ usr/share/kde4/apps/khotkeys' содержит файлы, которые вы упоминаете. Я также задаюсь вопросом, будет ли это работать, помещая их в папку «share» внутри дома пользователя ... – exhuma

Смежные вопросы