Igor B. Poretsky:

IP> Я выяснил, что речевому серверу при включенном русском вводе помимо
IP> обычных команд типа "l" для обеспечения эха ввода посылаются еще и
IP> последовательности команд "q" и "d" для произношения оригинальных
IP> названий клавиш. Очень бы хотелось избавиться от этой пакости. Быть
IP> может, кто-нибудь что-нибудь полезное подскажет? Как и где бы найти
IP> источник?

Попробуйте вычислить приведённые ниже выражения и поэкспериментировать со
вводом русского текста в буфере TEST (большими буквами). В результате на
каждый вызов dtk-speak у вас будет бэктрейс в переменной my-dtk-speak-trace.
Вы эту переменную потом посмотрите и узнаете, откуда идут вызовы dtk-speak.
Надеюсь, что результатами поделитесь, мне тоже было бы интересно узнать, в
чём дело. У меня этого нет.

(defvar my-dtk-speak-trace nil)

(defadvice dtk-speak (after trace pre act comp)
  (when (string= (buffer-name) "TEST")
    (let ((n 1) (frame nil) (trace nil))
      (setq frame (backtrace-frame n))
      (while frame
        (push frame trace)
        (setq n (+ n 1))
        (setq frame (backtrace-frame n)))
      (push trace my-dtk-speak-trace))))

-- 
Дмитрий Падучих
-- 
Blinux-rus mailing list
[email protected]
http://www.a11ywiki.org/cgi-bin/mailman/listinfo/blinux-rus

Ответить