emacs/lisp/leim/quail/programmer-dvorak.el

146 lines
2.5 KiB
EmacsLisp

;;; programmer-dvorak.el --- Quail package for the programmer Dvorak layout -*- lexical-binding: t -*-
;; Copyright (C) 2015-2024 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 <https://www.gnu.org/licenses/>.
;;; Commentary:
;;; This file provides an input method for the programmers Dvorak keyboard
;;; layout by Roland Kaufman (<https://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