- 84 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/07(水) 21:32:05 ID:0arh2LOV0]
- >>56
(defvar *english-map* (make-keymap)) (define-key *english-map* #\C-\' (lookup-key-command #\C-\:)) (define-key *english-map* #\C-\= (lookup-key-command #\C-\^)) (define-key *english-map* #\C-\[ (lookup-key-command #\C-\@)) (define-key *english-map* #\C-\] (lookup-key-command #\C-\[));無理っぽい (define-key *english-map* #\C-\\ (lookup-key-command #\C-\])) (define-key *english-map* #\C-\_ (lookup-key-command #\C-\=)) (define-key *english-map* #\C-\+ (lookup-key-command #\C-\~)) (define-key *english-map* #\C-\{ (lookup-key-command #\C-\`)) (define-key *english-map* #\C-\} (lookup-key-command #\C-\{)) (define-key *english-map* #\C-\: (lookup-key-command #\C-\+)) (define-key *english-map* #\C-\" (lookup-key-command #\C-\*)) (define-key *english-map* #\C-\| (lookup-key-command #\C-\})) (defvar *germany-map* (make-keymap)) (defun key-language-hook () (if (string= "米国" (cdr (current-kbd-layout))) (set-minor-mode-map *english-map*) (unset-minor-mode-map *english-map*)) (if (string= "ドイツ語" (cdr (current-kbd-layout))) (set-minor-mode-map *germany-map*) (unset-minor-mode-map *germany-map*))) (add-hook '*pre-command-hook* 'key-language-hook) 手探りながら書いてみました。本当はドイツ語でやりたかったんですが ドイツ語の場合 öüäß それに アキュートキー(? ßの一個右のキー。直後に押したキーがアキュート化される。áéúóとか) をバインドする方法がわかりませんでした。 何か方法があるなら教えてもらえると嬉しいです それと条件判定はcaseを使おうとするとうまくいきませんでした 文字列を判定条件には使えないんでしょうか?
|

|