qnikst / kbdd

keyboard library for per-window keyboard layout
GNU General Public License v2.0
146 stars 17 forks source link

Глюк с получением текущей раскладки #20

Closed VlaoMao closed 11 years ago

VlaoMao commented 12 years ago

Собственно, проблема. Конкретно мешает использовать программу. Хочется сделать переключение раскладки на одни и те же клавиши, хотел написать скрипт, который будет запрашивать текущую раскладку, однако. При попытке вызова mdbus2 ru.gentoo.KbddService ответ приходит только после того, как окно несколько раз потеряет/войдёт в фокус. Если же фокус не будет переходить к другому окну, то запрос так и будет висеть.

qnikst commented 12 years ago

пока воспрозвести не удалось, но буду разбираться

defHLT commented 11 years ago

Не использовал mdbus2, но, может быть, попробуйте с помощью dbus-monitor Например:

#!/usr/bin/ruby -w
interface = 'ru.gentoo.KbddService'
member = 'layoutChanged'
mon = open %Q{| dbus-monitor --monitor "sender='#{interface}',member='#{member}'"}
loop do
  if mon.gets =~ /layoutChanged/
    case mon.gets[/.\Z/]
    when /0/
      puts "En"
    when /1/
      puts "Uk"
    else
      puts "wtf"
    end
  end
end
qnikst commented 11 years ago

Коммит b86c8e4f82bd12e2fb392aa0fbe78c82f1209a3a должен исправлять данную проблему, можете ли Вы попровобать ещё раз на текущем мастере? Переотрывайте баг, если есть проблемы.