dvorak-russian-computer.el 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. ;;; dvorak-russian-computer.el --- ЙЦУКЕН input method for the dvorak system layout
  2. ;; Copyright © 2013-2014 Alex Kost
  3. ;; Author: Alex Kost <alezost@gmail.com>
  4. ;; Created: 19 Jul 2013
  5. ;; URL: https://github.com/alezost/dvorak-layouts.el
  6. ;; Keywords: input method
  7. ;; This program is free software; you can redistribute it and/or modify
  8. ;; it under the terms of the GNU General Public License as published by
  9. ;; the Free Software Foundation, either version 3 of the License, or
  10. ;; (at your option) any later version.
  11. ;; This program is distributed in the hope that it will be useful,
  12. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. ;; GNU General Public License for more details.
  15. ;; You should have received a copy of the GNU General Public License
  16. ;; along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. ;;; Commentary:
  18. ;; This file provides an additional Russian ЙЦУКЕН layout (input-method)
  19. ;; assuming that the current global layout (set in X or in terminal) is
  20. ;; "dvorak". I.e., "dvorak-russian-computer" input method has the same
  21. ;; meaning for the global "dvorak" layout as "russian-computer" for
  22. ;; "qwerty".
  23. ;; Russian ЙЦУКЕН layout:
  24. ;;
  25. ;; Ё 1! 2" 3№ 4; 5% 6: 7? 8* 9( 0) -_ =+
  26. ;; Й Ц У К Е Н Г Ш Щ З Х Ъ
  27. ;; Ф Ы В А П Р О Л Д Ж Э
  28. ;; Я Ч С М И Т Ь Б Ю .,
  29. ;;; Code:
  30. (require 'quail)
  31. (defvar dvorak-russian-computer-title "й"
  32. "The title of the `dvorak-russian-computer' input method.
  33. This title is displayed in the mode line when the input method is
  34. enabled.")
  35. ;;;###autoload
  36. (defun dvorak-russian-computer ()
  37. "Set `dvorak-russian-computer' input method."
  38. (interactive)
  39. (set-input-method "dvorak-russian-computer"))
  40. (quail-define-package
  41. "dvorak-russian-computer" "Russian" dvorak-russian-computer-title nil
  42. "ЙЦУКЕН keyboard layout widely used in Russia (ISO 8859-5 encoding)
  43. assuming that your system keyboard layout is dvorak."
  44. nil t t t t nil nil nil nil nil t)
  45. (quail-define-rules
  46. ("`" ?ё)
  47. ("1" ?1)
  48. ("2" ?2)
  49. ("3" ?3)
  50. ("4" ?4)
  51. ("5" ?5)
  52. ("6" ?6)
  53. ("7" ?7)
  54. ("8" ?8)
  55. ("9" ?9)
  56. ("0" ?0)
  57. ("[" ?-)
  58. ("]" ?=)
  59. ("~" ?Ё)
  60. ("!" ?!)
  61. ("@" ?\")
  62. ("#" ?№)
  63. ("$" ?\;)
  64. ("%" ?%)
  65. ("^" ?:)
  66. ("&" ??)
  67. ("*" ?*)
  68. ("(" ?\()
  69. (")" ?\))
  70. ("{" ?_)
  71. ("}" ?+)
  72. ("'" ?й)
  73. ("," ?ц)
  74. ("." ?у)
  75. ("p" ?к)
  76. ("y" ?е)
  77. ("f" ?н)
  78. ("g" ?г)
  79. ("c" ?ш)
  80. ("r" ?щ)
  81. ("l" ?з)
  82. ("/" ?х)
  83. ("=" ?ъ)
  84. ("a" ?ф)
  85. ("o" ?ы)
  86. ("e" ?в)
  87. ("u" ?а)
  88. ("i" ?п)
  89. ("d" ?р)
  90. ("h" ?о)
  91. ("t" ?л)
  92. ("n" ?д)
  93. ("s" ?ж)
  94. ("-" ?э)
  95. ("\\" ?\\)
  96. (";" ?я)
  97. ("q" ?ч)
  98. ("j" ?с)
  99. ("k" ?м)
  100. ("x" ?и)
  101. ("b" ?т)
  102. ("m" ?ь)
  103. ("w" ?б)
  104. ("v" ?ю)
  105. ("z" ?.)
  106. ("\"" ?Й)
  107. ("<" ?Ц)
  108. (">" ?У)
  109. ("P" ?К)
  110. ("Y" ?Е)
  111. ("F" ?Н)
  112. ("G" ?Г)
  113. ("C" ?Ш)
  114. ("R" ?Щ)
  115. ("L" ?З)
  116. ("?" ?Х)
  117. ("+" ?Ъ)
  118. ("A" ?Ф)
  119. ("O" ?Ы)
  120. ("E" ?В)
  121. ("U" ?А)
  122. ("I" ?П)
  123. ("D" ?Р)
  124. ("H" ?О)
  125. ("T" ?Л)
  126. ("N" ?Д)
  127. ("S" ?Ж)
  128. ("_" ?Э)
  129. ("|" ?/)
  130. (":" ?Я)
  131. ("Q" ?Ч)
  132. ("J" ?С)
  133. ("K" ?М)
  134. ("X" ?И)
  135. ("B" ?Т)
  136. ("M" ?Ь)
  137. ("W" ?Б)
  138. ("V" ?Ю)
  139. ("Z" ?,))
  140. (provide 'dvorak-russian-computer)
  141. ;;; dvorak-russian-computer.el ends here