Re: isearch-mode-map
On Thu, 26 Jan 2006 15:24:51 +0300
Artem Chuprina <ran@ran.pp.ru> wrote:
> Vladimir Zolotykh -> debian-russian@lists.debian.org @ Thu, 26 Jan 2006 12:50:38 +0200:
>
> >> VZ> (define-key isearch-mode-map [f31]
> >> VZ> '(lambda ()
> >> VZ> (interactive)
> >> VZ> (if current-input-method (isearch-toggle-input-method) (isearch-update))))
> >> VZ> (define-key isearch-mode-map [f32]
> >> VZ> '(lambda ()
> >> VZ> (interactive)
> >> VZ> (if current-input-method (isearch-update) (isearch-toggle-input-method))))
> >>
> >> VZ> C-s в Emacs-е в minibuffer просит строку поиска.
> >> VZ> Вроде бы вторая форма (второй вызов define-key) должен бы переключить минибуфер
> >> VZ> во ввод русских букв, но вместо этого поиск просто отменяется и никакого
> >> VZ> переключения нет
> >>
> >>А кнопка передается та самая? А то у меня с f12 работает...
> >>
> >>
> VZ> Пришли пожалуйста как у тебя работает с f12,
> VZ> я что-то никак не могу понять в чем дело
>
> (global-set-key [f12] '(lambda () (interactive) (inactivate-input-method))) ; CAPS from emacs_ruslat
> (global-set-key [S-f12] '(lambda () (interactive) (unless current-input-method (toggle-input-method)))) ; S-CAPS from emacs_ruslat
> (define-key isearch-mode-map [f12] '(lambda () (interactive) (if current-input-method (isearch-toggle-input-method) (isearch-update))))
> (define-key isearch-mode-map [S-f12] '(lambda () (interactive) (if current-input-method (isearch-update) (isearch-toggle-input-method))))
Просто какая-то загадка!
вот это работает
(global-set-key [f13] '(lambda () (interactive) (inactivate-input-method)))
(global-set-key [f14] '(lambda () (interactive) (unless current-input-method (toggle-input-method))))
где в xkb написано
xkb_symbols { include "pc/pc(pc104)+pc/us+pc/ru(winkeys):2"
key <CAPS> { [ F13, F14 ], actions[Group1] = [LockGroup(group=1), LockGroup(group=2)] };
};
а вот это НЕ РАБОТАЕТ в минибуфере при поиске isearch
(define-key isearch-mode-map [f13]
'(lambda ()
(interactive)
(if current-input-method (isearch-toggle-input-method) (isearch-update))))
(define-key isearch-mode-map [f14]
'(lambda ()
(interactive)
(if current-input-method (isearch-update) (isearch-toggle-input-method))))
хотя вроде бы должно работать, но что хуже всего и чего я совсем уж не понимаю, так это
то что вот это
(define-key isearch-mode-map [S-f14]
'(lambda ()
(interactive)
(if current-input-method (isearch-update) (isearch-toggle-input-method))))
РАБОТАЕТ, если кто то видит в этом хоть какой-то смысл и скажет какой , буду признателен,
или может быть скажет, где можно задать такой вопрос по Emacs-y (в comp.emacs тишина)
>
> Работает и в stable, и в emacs-snapshot от 20050901.
>
> --
> Artem Chuprina
> RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru
>
> Дело говоришь!
> Теперь делай его.
> Кнышев.
>
>
> --
> To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
>
--
Vladimir Zolotykh
Reply to: