]> git.eshelyaron.com Git - emacs.git/commitdiff
Add new input method 'programmer-dvorak'
authorJoakim Jalap <joakim.jalap@fastmail.com>
Thu, 31 Dec 2015 16:01:45 +0000 (18:01 +0200)
committerEli Zaretskii <eliz@gnu.org>
Thu, 31 Dec 2015 16:01:45 +0000 (18:01 +0200)
* lisp/leim/quail/programmer-dvorak.el ("programmer-dvorak"): New
input method.

* etc/NEWS: Mention it.

etc/NEWS
lisp/leim/quail/programmer-dvorak.el [new file with mode: 0644]

index 9f321667945cfbfde7987c51bafc2a2d31537706..b6c805a3a24e04f80ce0dec853e46d206920728d 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -210,7 +210,7 @@ hiding character but the default `.' can be used by let-binding the
 variable `read-hide-char'.
 
 ---
-** New input method: `tamil-dvorak'.
+** New input methods: `tamil-dvorak' and `programmer-dvorak'.
 
 \f
 * Editing Changes in Emacs 25.1
diff --git a/lisp/leim/quail/programmer-dvorak.el b/lisp/leim/quail/programmer-dvorak.el
new file mode 100644 (file)
index 0000000..a74fb5b
--- /dev/null
@@ -0,0 +1,145 @@
+;;; programmer-dvorak.el --- Quail package for the programmer Dvorak layout
+
+;; Copyright (C) 2015 Free Software Foundation, Inc.
+
+;; Author: Joakim Jalap <joakim.jalap@fastmail.com>
+
+;; Keywords: input method, Dvorak
+
+;; This file is released under the terms of GNU Emacs.
+
+;; GNU Emacs 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.
+
+;; GNU Emacs 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 GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; This file provides an input method for the programmers Dvorak keyboard
+;;; layout by Roland Kaufman (<http://www.kaufmann.no/roland/dvorak/>).
+
+;;; Code:
+
+(require 'quail)
+
+(quail-define-package
+ "programmer-dvorak" "English" "DVP@" t
+ "An English (ASCII) dvorak layout optimized for programming, with for example
+ brackets and parens more easily reachable."
+ nil t t t t nil nil nil nil nil t)
+
+;; &%  [7  {5  }3  (1  =9  *0  )2  +4  ]6  !8  #`  $~
+;;  ;:  ,<  .>  pP  yY  fF  gG  cC  rR  lL  /?  @^
+;;   aA  oO  eE  uU  iI  dD  hH  tT  nN  sS  -_  \|
+;;    '"  qQ  jJ  kK  xX  bB  mM  wW  vV  zZ
+;;
+
+(quail-define-rules
+ ("-" ?!)
+ ("=" ?#)
+ ("`" ?$)
+ ("q" ?\;)
+ ("w" ?,)
+ ("e" ?.)
+ ("r" ?p)
+ ("t" ?y)
+ ("y" ?f)
+ ("u" ?g)
+ ("i" ?c)
+ ("o" ?r)
+ ("p" ?l)
+ ("[" ?/)
+ ("]" ?@)
+ ("a" ?a)
+ ("s" ?o)
+ ("d" ?e)
+ ("f" ?u)
+ ("g" ?i)
+ ("h" ?d)
+ ("j" ?h)
+ ("k" ?t)
+ ("l" ?n)
+ (";" ?s)
+ ("'" ?-)
+ ("\\" ?\\)
+ ("z" ?\')
+ ("x" ?q)
+ ("c" ?j)
+ ("v" ?k)
+ ("b" ?x)
+ ("n" ?b)
+ ("m" ?m)
+ ("," ?w)
+ ("." ?v)
+ ("/" ?z)
+
+ ("_" ?8)
+ ("+" ?`)
+ ("~" ?~)
+ ("Q" ?:)
+ ("W" ?<)
+ ("E" ?>)
+ ("R" ?P)
+ ("T" ?Y)
+ ("Y" ?F)
+ ("U" ?G)
+ ("I" ?C)
+ ("O" ?R)
+ ("P" ?L)
+ ("{" ??)
+ ("}" ?^)
+ ("A" ?A)
+ ("S" ?O)
+ ("D" ?E)
+ ("F" ?U)
+ ("G" ?I)
+ ("H" ?D)
+ ("J" ?H)
+ ("K" ?T)
+ ("L" ?N)
+ (":" ?S)
+ ("\"" ?_)
+ ("|" ?|)
+ ("Z" ?\")
+ ("X" ?Q)
+ ("C" ?J)
+ ("V" ?K)
+ ("B" ?X)
+ ("N" ?B)
+ ("M" ?M)
+ ("<" ?W)
+ (">" ?V)
+ ("?" ?Z)
+
+ ("1" ?&)
+ ("2" ?\[)
+ ("3" ?{)
+ ("4" ?})
+ ("5" ?\()
+ ("6" ?=)
+ ("7" ?\*)
+ ("8" ?\))
+ ("9" ?+)
+ ("0" ?\])
+
+ ("!" ?%)
+ ("@" ?7)
+ ("#" ?5)
+ ("$" ?3)
+ ("%" ?1)
+ ("^" ?9)
+ ("&" ?0)
+ ("*" ?2)
+ ("(" ?4)
+ (")" ?6)
+ )
+
+;;; programmer-dvorak.el ends here