From 8f5b524d04d393fb7f84aabd45250893d9805732 Mon Sep 17 00:00:00 2001 From: Joakim Jalap Date: Thu, 31 Dec 2015 18:01:45 +0200 Subject: [PATCH] Add new input method 'programmer-dvorak' * lisp/leim/quail/programmer-dvorak.el ("programmer-dvorak"): New input method. * etc/NEWS: Mention it. --- etc/NEWS | 2 +- lisp/leim/quail/programmer-dvorak.el | 145 +++++++++++++++++++++++++++ 2 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 lisp/leim/quail/programmer-dvorak.el diff --git a/etc/NEWS b/etc/NEWS index 9f321667945..b6c805a3a24 100644 --- 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'. * 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 index 00000000000..a74fb5bc6b6 --- /dev/null +++ b/lisp/leim/quail/programmer-dvorak.el @@ -0,0 +1,145 @@ +;;; programmer-dvorak.el --- Quail package for the programmer Dvorak layout + +;; Copyright (C) 2015 Free Software Foundation, Inc. + +;; Author: Joakim Jalap + +;; 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 . + +;;; Commentary: + +;;; This file provides an input method for the programmers Dvorak keyboard +;;; layout by Roland Kaufman (). + +;;; 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 -- 2.39.2