Following a recent discussion here I wrote an input method for Hebrew LyX that works for a US English Dvorak keyboard layout. The Hebrew layout it provides is very similar to a 'standard' Hebrew LyX layout, with some slight changes, all of them are simply using empty keys in the first shift level. There is one change to the layout by Yair F., posted on this list a couple of weeks ago - I moved the 'gershyim' to the Q key, to the right of the TAB key. This seems to me more reasonable, that way it is near the geresh.
These are my additions: - AD01 shift-slash: gershayim - AD02 shift-single-quote: geresh - AC03 shift-gimel: euro - AC04 shift-kaph: en dash - AB01 shift-zain: bullet As far as I know there is no real standard for Hebrew LyX layout, and I'm sure that different reasoning can be found, that are at least as good as mine :) The above is open to discussion, suggestions, anything. Also, the attached file contains just this input method, but it can be made a part of hebrew.el. I'm also open for suggestions for the name of the method, its letter in the status bar (currently 'dalet'), and anything else. I tested the attached file on Linux and X. Hope you find it useful, Amit
;;; hebrew-en-dvorak.el --- Quail package for inputting Hebrew characters -*-coding: iso-2022-7bit;-*- ;; Keywords: multilingual, input method, Hebrew ;; This file is part 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: ;;; Code: (require 'quail) ;; This is a Hebrew LyX input method that assumes a basic US English ;; Dvorak keyboard layout. It is based on a keyboard map from Debian GNU/Linux ;; 'xkb/symbols/il' file, and the nikud pattern is based on Dekel Tsur's ;; Hebrew mapping for LyX. ;; It also incorporates suggestions on the emacs-bidi list by Yair F. ;; I made some slight modifications to the original LyX layout. All off them ;; are just filling vacancies in the first shift level. They are: ;; ;; - AD01 gershayim ;; - AD02 geresh ;; - AC03 euro ;; - AC04 en dash ;; - AB01 bullet ;; ;; Amit Ramon amit DOT ramon AT gmail DOT com June 2010 (quail-define-package "hebrew-lyx-en-dvorak" "Hebrew" "$,1,s(B" nil "Hebrew LyX over US English Dvorak input method. Based on LyX keyboard layout. Additional mappings for Rafe and Yiddish ligatures. " nil t t t t nil nil nil nil nil t) (quail-define-rules ;; AE01 AE09 - AE12 ("`" ?\;) ;; 9 unchanged AE09 ;; 0 unchanged AE10 ("[" ?-) ("]" ?=) ;; Shifted ;; ~ unchanged AE01 ("(" ?\)) ; mirroring (")" ?\() ; mirroring ("{" ?$,1,^(B) ; maqaf ("}" ?+) ;; AD01 - AD13 ("'" ?/) ("," ?\') ("." ?,Hw(B) ; qof ("p" ?,Hx(B) ; resh ("y" ?,H`(B) ; alef ("f" ?,Hh(B) ; tet ("g" ?,He(B) ; vav ("c" ?,Ho(B) ; final nun ("r" ?,Hm(B) ; final mem ("l" ?,Ht(B) ; pe ("/" ?\]) ; mirroring ("=" ?\[) ; mirroring ;; \ unchanged ;; Shifted ("\"" ?$,1-4(B) ; gershayim (new) ("<" ?$,1-3(B) ; geresh (new) (">" ?$,1,X(B) ; qamats ("P" ?$,1,_(B) ; rafe (new) ("Y" ?\u200E) ; LRM ("F" ?\u200F) ; RLM ("G" ?$,1,Y(B) ; holam ("C" ?$,1-2(B) ; Yiddish double yod ("R" ?$,1-0(B) ; Yiddish double vav ("L" ?$,1,W(B) ; patah ("?" ?}) ; mirroring ("+" ?{) ; mirroring ;; | unchanged ;; AC01 - AC11 ("a" ?,Hy(B) ; shin ("o" ?,Hc(B) ; dalet ("e" ?,Hb(B) ; gimel ("u" ?,Hk(B) ; kaf ("i" ?,Hr(B) ; ayin ("d" ?,Hi(B) ; yod ("h" ?,Hg(B) ; het ("t" ?,Hl(B) ; lamed ("n" ?,Hj(B) ; final kaf ("s" ?,Hs(B) ; final pe ("-" ?,) ;; Shifted ("A" ?$,1,P(B) ; sheva ("O" ?$,1,\(B) ; dagesh/shuruq or mapiq ("E" ?$,1tL(B) ; euro (new) ("U" ?\u2013) ;en dash ("I" ?$,1,b(B) ; sin dot ("D" ?$,1,a(B) ; shin dot ("H" ?$,1,T(B) ; hiriq ("T" ?$,1tJ(B) ; new sheqel sign ("N" ?$,1-1(B) ; Yiddish vav-yod ("S" ?:) ("_" ?\") ;; AB01 - AB10 (";" ?,Hf(B) ; zayin ("q" ?,Hq(B) ; samekh ("j" ?,Ha(B) ; bet ("k" ?,Hd(B) ; he ("x" ?,Hp(B) ; nun ("b" ?,Hn(B) ; mem ("m" ?,Hv(B) ; tsadi ("w" ?,Hz(B) ; tav ("v" ?,Hu(B) ; final tsadi ("z" ?.) ; stop ;; Shifted (":" ?\u2022) ; bullet (new) ("Q" ?$,1,V(B) ; segol (point) ("J" ?$,1,[(B) ; qubuts ("K" ?$,1,Q(B) ; hataf segol ("X" ?$,1,R(B) ; hataf patah ("B" ?$,1,S(B) ; hataf qamats ("M" ?$,1,U(B) ; tsere ("W" ?>) ; mirroring ("V" ?<) ; mirroring ("Z" ??) ) ;; arch-tag: 771b887d-15af-4a4d-b4ce-a4a86f5ca0cf ;;; hebrew.el ends here
_______________________________________________ emacs-bidi mailing list [email protected] http://lists.gnu.org/mailman/listinfo/emacs-bidi
