;;; input-conf.el --- My configurations of input methods -*- lexical-binding: t; -*- ;; Copyright (C) 2022 Jean Sévère Durand ;; Author: Jean Sévère Durand ;; Keywords: convenience, abbrev, emulations, i18n ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; I want to use the built-in input methods for inserting in other ;; languages than English. ;;; Code: ;;; Chinese-zozy ;; This does not work. I shall find another way to do this. (defun durand-zozy-remap-keys () "Remap smoe keys for the input method \"Chinese-zozy\"." (let ((map (quail-translation-keymap))) (define-key map (vector ?\") "3"))) (remove-hook 'quail-activate-hook #'durand-zozy-remap-keys) (setq-default default-input-method "devanagari-kyoto-harvard") (defvar durand-input-method-list nil "The list of input methods that I oft use.") (setq durand-input-method-list (list "devanagari-kyoto-harvard" "tamil99" "chinese-zozy")) (defun durand-toggle-input () "Toggle input method with my customizations." (interactive) (cond ((null current-input-method) (let ((input-method (minibuffer-with-setup-hook #'durand-headlong-minibuffer-setup-hook (completing-read "Input method: " durand-input-method-list nil t nil nil "devanagari-kyoto-harvard")))) (activate-input-method input-method))) ((deactivate-input-method)))) (define-key global-map (vector ?\C-\\) #'durand-toggle-input) (define-key global-map (vector 3 ?i) #'durand-toggle-input) (provide 'input-conf) ;;; input-conf.el ends here