view leim/quail/slovak.el @ 111413:d53ee71e7e89

Unify mouse-highlight code for all GUI and TTY sessions. term.c: Remove static mouse_face_* variables. All users changed. (term_show_mouse_face, term_clear_mouse_face) (fast_find_position, term_mouse_highlight): Functions deleted. (tty_draw_row_with_mouse_face): New function. (term_mouse_movement): Call note_mouse_highlight instead of term_mouse_highlight. nsterm.m (ns_update_window_begin, ns_update_window_end) (ns_update_end, x_destroy_window, ns_frame_up_to_date) (ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background) (ns_dumpglyphs_image, ns_dumpglyphs_stretch) (ns_initialize_display_info, keyDown, mouseMoved, mouseExited): Replace Display_Info with Mouse_HLInfo everywhere where mouse_face_* members were accessed for mouse highlight purposes. xterm.c (x_update_window_begin, x_update_window_end) (x_update_end, XTframe_up_to_date, x_set_mouse_face_gc) (handle_one_xevent, x_free_frame_resources, x_term_init): Replace Display_Info with Mouse_HLInfo everywhere where mouse_face_* members were accessed for mouse highlight purposes. w32term.c (x_update_window_begin, x_update_window_end) (x_update_end, w32_read_socket, x_free_frame_resources) (w32_initialize_display_info): Replace Display_Info with Mouse_HLInfo everywhere where mouse_face_* members were accessed for mouse highlight purposes. xdisp.c (show_mouse_face, note_mode_line_or_margin_highlight) (note_mouse_highlight) [HAVE_WINDOW_SYSTEM]: Don't run GUI code unless the frame is on a window-system. (get_tool_bar_item, handle_tool_bar_click) (note_tool_bar_highlight, draw_glyphs, erase_phys_cursor) (show_mouse_face, clear_mouse_face, coords_in_mouse_face_p) (note_mode_line_or_margin_highlight, note_mouse_highlight) (x_clear_window_mouse_face, cancel_mouse_face, expose_frame): Replace Display_Info with Mouse_HLInfo everywhere where mouse_face_* members were accessed for mouse highlight purposes. (coords_in_mouse_face_p): Move prototype out of the HAVE_WINDOW_SYSTEM conditional. (x_y_to_hpos_vpos, frame_to_window_pixel_xy): Move out of the HAVE_WINDOW_SYSTEM block. (try_window_id) [HAVE_GPM || MSDOS]: Call x_clear_window_mouse_face. (draw_row_with_mouse_face): Implementation for HAVE_WINDOW_SYSTEM systems. Call tty_draw_row_with_mouse_face for TTY systems. (show_mouse_face): Call draw_row_with_mouse_face, instead of calling draw_glyphs directly. (show_mouse_face, clear_mouse_face, coords_in_mouse_face_p) (cursor_in_mouse_face_p, rows_from_pos_range) (mouse_face_from_buffer_pos, mouse_face_from_string_pos) (note_mode_line_or_margin_highlight, note_mouse_highlight) (x_clear_window_mouse_face, cancel_mouse_face): Move out of the HAVE_WINDOW_SYSTEM block. Ifdef away window-system specific fragments. (note_mouse_highlight): Call popup_activated for MSDOS as well. Clear mouse highlight if pointer is over glyphs whose OBJECT is an integer. (mouse_face_from_buffer_pos): Add parentheses around && within ||. (x_consider_frame_title, tool_bar_lines_needed): Move prototypes to HAVE_WINDOW_SYSTEM-only part. (get_window_cursor_type): Move inside a HAVE_WINDOW_SYSTEM-only part. Remove "#ifdef HAVE_WINDOW_SYSTEM" from body of function. (null_glyph_slice): Move declaration into HAVE_WINDOW_SYSTEM-only part. dispnew.c (mirror_make_current): Set Y coordinate of the mode-line and header-line rows. (init_display): Setup initial frame's output_data for text terminal frames. xmenu.c (popup_activated): Don't define on MSDOS, which now has its own definition on msdos.c. msdos.c (show_mouse_face, clear_mouse_face) (fast_find_position, IT_note_mode_line_highlight) (IT_note_mouse_highlight): Functions deleted. (IT_frame_up_to_date, dos_rawgetc): Call note_mouse_highlight instead of IT_note_mouse_highlight. (draw_row_with_mouse_face, popup_activated): New functions. (dos_set_window_size, draw_row_with_mouse_face, IT_update_begin) (IT_update_end, IT_frame_up_to_date, internal_terminal_init) (dos_rawgetc): Replace Display_Info with Mouse_HLInfo everywhere where mouse_face_* members were accessed for mouse highlight purposes. msdos.h (initialize_msdos_display): Add prototype. frame.h (MOUSE_HL_INFO): New macro. lisp.h (Mouse_HLInfo): New data type. xterm.h (struct x_display_info): w32term.h (struct w32_display_info): nsterm.h (struct ns_display_info): termchar.h (struct tty_display_info): Use it instead of mouse_face_* members. dispextern.h (show_mouse_face, clear_mouse_face): Update type of 1st argument. (frame_to_window_pixel_xy, note_mouse_highlight) (x_clear_window_mouse_face, cancel_mouse_face, clear_mouse_face) (show_mouse_face, cursor_in_mouse_face_p): Move prototypes out of HAVE_WINDOW_SYSTEM conditional. (draw_row_with_mouse_face): Declare prototype. (tty_draw_row_with_mouse_face): Declare prototype.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 06 Nov 2010 10:28:31 +0200
parents 1d1d5d9bd884
children 376148b31b5e
line wrap: on
line source

;;; slovak.el --- Quail package for inputting Slovak  -*-coding: iso-2022-7bit;-*-

;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
;;   Free Software Foundation, Inc.

;; Authors: Tibor ,B)(Bimko <tibor.simko@fmph.uniba.sk>
;;	Milan Zamazal <pdm@zamazal.org>
;; Maintainer: Pavel Jan,Bm(Bk <Pavel@Janik.cz>
;; Keywords: i18n, multilingual, input method, Slovak

;; 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:

;; This file defines the following Slovak keyboards:
;; - standard Slovak keyboard
;; - three Slovak keyboards for programmers

;;; Code:

(require 'quail)


(quail-define-package
 "slovak" "Slovak" "SK" t
 "Standard Slovak keyboard."
 nil t nil nil t nil nil nil nil nil t)

(quail-define-rules
 ("1" ?+)
 ("2" ?,B5(B)
 ("3" ?,B9(B)
 ("4" ?,Bh(B)
 ("5" ?,B;(B)
 ("6" ?,B>(B)
 ("7" ?,B}(B)
 ("8" ?,Ba(B)
 ("9" ?,Bm(B)
 ("0" ?,Bi(B)
 ("!" ?1)
 ("@" ?2)
 ("#" ?3)
 ("$" ?4)
 ("%" ?5)
 ("^" ?6)
 ("&" ?7)
 ("*" ?8)
 ("(" ?9)
 (")" ?0)
 ("-" ?=)
 ("_" ?%)
 ("=" ?')
 ("[" ?,Bz(B)
 ("{" ?/)
 ("]" ?,Bd(B)
 ("}" ?\()
 ("\\" ?,Br(B)
 ("|" ?\))
 (";" ?,Bt(B)
 (":" ?\")
 ("'" ?,B'(B)
 ("\"" ?!)
 ("<" ??)
 (">" ?:)
 ("/" ?-)
 ("?" ?_)
 ("`" ?\;)
 ("~" ?^)
 ("y" ?z)
 ("z" ?y)
 ("Y" ?Z)
 ("Z" ?Y)
 ("=a" ?,Ba(B)
 ("+a" ?,Bd(B)
 ("+=a" ?,Bd(B)
 ("+c" ?,Bh(B)
 ("+d" ?,Bo(B)
 ("=e" ?,Bi(B)
 ("+e" ?,Bl(B)
 ("=i" ?,Bm(B)
 ("=l" ?,Be(B)
 ("+l" ?,B5(B)
 ("+n" ?,Br(B)
 ("=o" ?,Bs(B)
 ("+o" ?,Bt(B)
 ("~o" ?,Bt(B)
 ("+=o" ?,Bv(B)
 ("=r" ?,B`(B)
 ("+r" ?,Bx(B)
 ("=s" ?,B_(B)
 ("+s" ?,B9(B)
 ("+t" ?,B;(B)
 ("=u" ?,Bz(B)
 ("+u" ?,By(B)
 ("+=u" ?,B|(B)
 ("=z" ?,B}(B)
 ("+y" ?,B>(B)
 ("=A" ?,BA(B)
 ("+A" ?,BD(B)
 ("+=A" ?,BD(B)
 ("+C" ?,BH(B)
 ("+D" ?,BO(B)
 ("=E" ?,BI(B)
 ("+E" ?,BL(B)
 ("=I" ?,BM(B)
 ("=L" ?,BE(B)
 ("+L" ?,B%(B)
 ("+N" ?,BR(B)
 ("=O" ?,BS(B)
 ("+O" ?,BT(B)
 ("~O" ?,BT(B)
 ("+=O" ?,BV(B)
 ("=R" ?,B@(B)
 ("+R" ?,BX(B)
 ("=S" ?,B_(B)
 ("+S" ?,B)(B)
 ("+T" ?,B+(B)
 ("=U" ?,BZ(B)
 ("+U" ?,BY(B)
 ("+=U" ?,B\(B)
 ("=Z" ?,B](B)
 ("+Y" ?,B.(B)
 ("=q" ?`)
 ("=2" ?@)
 ("=3" ?#)
 ("=4" ?$)
 ("=5" ?%)
 ("=6" ?^)
 ("=7" ?&)
 ("=8" ?*)
 ("=9" ?\()
 ("=0" ?\))
 ("+1" ?!)
 ("+2" ?@)
 ("+3" ?#)
 ("+4" ?$)
 ("+5" ?%)
 ("+6" ?^)
 ("+7" ?&)
 ("+8" ?*)
 ("+9" ?\()
 ("+0" ?\))
 ([kp-1] ?1)
 ([kp-2] ?2)
 ([kp-3] ?3)
 ([kp-4] ?4)
 ([kp-5] ?5)
 ([kp-6] ?6)
 ([kp-7] ?7)
 ([kp-8] ?8)
 ([kp-9] ?9)
 ([kp-0] ?0)
 ([kp-add] ?+))


(quail-define-package
 "slovak-prog-1" "Slovak" "SK" t
 "Slovak (non-standard) keyboard for programmers #1.

All digits except of `1' are replaced by Slovak characters as on the standard
Slovak keyboard.
Dead keys are on `[', `[[', and `[[['.
All other keys are the same as on standard US keyboard."
 nil t nil nil t nil nil nil nil nil t)

(quail-define-rules
 ("[[[[" ?\[)
 ("2" ?,B5(B)
 ("3" ?,B9(B)
 ("4" ?,Bh(B)
 ("5" ?,B;(B)
 ("6" ?,B>(B)
 ("7" ?,B}(B)
 ("8" ?,Ba(B)
 ("9" ?,Bm(B)
 ("0" ?,Bi(B)
 ("[a" ?,Ba(B)
 ("[[a" ?,Bd(B)
 ("[[[a" ?,Bd(B)
 ("[c" ?,Bh(B)
 ("[[c" ?,Bh(B)
 ("[d" ?,Bo(B)
 ("[[d" ?,Bo(B)
 ("[e" ?,Bi(B)
 ("[[e" ?,Bl(B)
 ("[i" ?,Bm(B)
 ("[l" ?,Be(B)
 ("[[l" ?,B5(B)
 ("[n" ?,Br(B)
 ("[[n" ?,Br(B)
 ("[o" ?,Bs(B)
 ("[[o" ?,Bt(B)
 ("[[[o" ?,Bv(B)
 ("[r" ?,B`(B)
 ("[[r" ?,Bx(B)
 ("[s" ?,B9(B)
 ("[[s" ?,B9(B)
 ("[[[s" ?,B_(B)
 ("[t" ?,B;(B)
 ("[[t" ?,B;(B)
 ("[u" ?,Bz(B)
 ("[[u" ?,By(B)
 ("[[[u" ?,B|(B)
 ("[y" ?,B}(B)
 ("[z" ?,B>(B)
 ("[[z" ?,B>(B)
 ("[A" ?,BA(B)
 ("[[A" ?,BD(B)
 ("[[[A" ?,BD(B)
 ("[C" ?,BH(B)
 ("[[C" ?,BH(B)
 ("[D" ?,BO(B)
 ("[[D" ?,BO(B)
 ("[E" ?,BI(B)
 ("[[E" ?,BL(B)
 ("[I" ?,BM(B)
 ("[L" ?,BE(B)
 ("[[L" ?,B%(B)
 ("[N" ?,BR(B)
 ("[[N" ?,BR(B)
 ("[O" ?,BS(B)
 ("[[O" ?,BT(B)
 ("[[[O" ?,BV(B)
 ("[R" ?,B@(B)
 ("[[R" ?,BX(B)
 ("[S" ?,B)(B)
 ("[[S" ?,B)(B)
 ("[[[S" ?,B_(B)
 ("[T" ?,B+(B)
 ("[[T" ?,B+(B)
 ("[U" ?,BZ(B)
 ("[[U" ?,BY(B)
 ("[[[U" ?,B\(B)
 ("[Y" ?,B](B)
 ("[Z" ?,B.(B)
 ("[[Z" ?,B.(B)
 ([kp-1] ?1)
 ([kp-2] ?2)
 ([kp-3] ?3)
 ([kp-4] ?4)
 ([kp-5] ?5)
 ([kp-6] ?6)
 ([kp-7] ?7)
 ([kp-8] ?8)
 ([kp-9] ?9)
 ([kp-0] ?0)
 ([kp-add] ?+))


(quail-define-package
 "slovak-prog-2" "Slovak" "SK" t
 "Slovak (non-standard) keyboard for programmers #2.

All digits except of `1' are replaced by Slovak characters as on the standard
Slovak keyboard.
Dead keys are on `=' and `+'.
All other keys are the same as on standard US keyboard."
 nil t nil nil t nil nil nil nil nil t)

(quail-define-rules
 ("2" ?,B5(B)
 ("3" ?,B9(B)
 ("4" ?,Bh(B)
 ("5" ?,B;(B)
 ("6" ?,B>(B)
 ("7" ?,B}(B)
 ("8" ?,Ba(B)
 ("9" ?,Bm(B)
 ("0" ?,Bi(B)
 ("==" ?=)
 ("++" ?+)
 ("=+" ?+)
 ("=2" ?2)
 ("=3" ?3)
 ("=4" ?4)
 ("=5" ?5)
 ("=6" ?6)
 ("=7" ?7)
 ("=8" ?8)
 ("=9" ?9)
 ("=0" ?0)
 ("+2" ?2)
 ("+3" ?3)
 ("+4" ?4)
 ("+5" ?5)
 ("+6" ?6)
 ("+7" ?7)
 ("+8" ?8)
 ("+9" ?9)
 ("+0" ?0)
 ("=a" ?,Ba(B)
 ("+a" ?,Bd(B)
 ("+=a" ?,Bd(B)
 ("+c" ?,Bh(B)
 ("+d" ?,Bo(B)
 ("=e" ?,Bi(B)
 ("+e" ?,Bl(B)
 ("=i" ?,Bm(B)
 ("=l" ?,Be(B)
 ("+l" ?,B5(B)
 ("+n" ?,Br(B)
 ("=o" ?,Bs(B)
 ("+o" ?,Bt(B)
 ("+=o" ?,Bv(B)
 ("=r" ?,B`(B)
 ("+r" ?,Bx(B)
 ("=s" ?,B_(B)
 ("+s" ?,B9(B)
 ("+t" ?,B;(B)
 ("=u" ?,Bz(B)
 ("+u" ?,By(B)
 ("+=u" ?,B|(B)
 ("=y" ?,B}(B)
 ("+z" ?,B>(B)
 ("=A" ?,BA(B)
 ("+A" ?,BD(B)
 ("+=A" ?,BD(B)
 ("+C" ?,BH(B)
 ("+D" ?,BO(B)
 ("=E" ?,BI(B)
 ("+E" ?,BL(B)
 ("=I" ?,BM(B)
 ("=L" ?,BE(B)
 ("+L" ?,B%(B)
 ("+N" ?,BR(B)
 ("=O" ?,BS(B)
 ("+O" ?,BT(B)
 ("+=O" ?,BV(B)
 ("=R" ?,B@(B)
 ("+R" ?,BX(B)
 ("=S" ?,B_(B)
 ("+S" ?,B)(B)
 ("+T" ?,B+(B)
 ("=U" ?,BZ(B)
 ("+U" ?,BY(B)
 ("+=U" ?,B\(B)
 ("=Y" ?,B](B)
 ("+Z" ?,B.(B)
 ([kp-1] ?1)
 ([kp-2] ?2)
 ([kp-3] ?3)
 ([kp-4] ?4)
 ([kp-5] ?5)
 ([kp-6] ?6)
 ([kp-7] ?7)
 ([kp-8] ?8)
 ([kp-9] ?9)
 ([kp-0] ?0)
 ([kp-add] ?+))


(quail-define-package
 "slovak-prog-3" "Slovak" "SK" t
 "Slovak (non-standard) keyboard for programmers #3.

Dead keys are on `[', `[[', `[[[', and `]'.
All other keys are the same as on standard US keyboard."
 nil t nil nil t nil nil nil nil nil t)

(quail-define-rules
 ("[[[[" ?\[)
 ("[]" ?\])
 ("][" ?\[)
 ("]]" ?\])
 ("[a" ?,Ba(B)
 ("[[a" ?,Bd(B)
 ("[[[a" ?,Bd(B)
 ("]a" ?,Bd(B)
 ("][a" ?,Bd(B)
 ("[c" ?,Bh(B)
 ("[[c" ?,Bh(B)
 ("]c" ?,Bh(B)
 ("[d" ?,Bo(B)
 ("[[d" ?,Bo(B)
 ("]d" ?,Bo(B)
 ("[e" ?,Bi(B)
 ("[[e" ?,Bl(B)
 ("]e" ?,Bl(B)
 ("[i" ?,Bm(B)
 ("[l" ?,Be(B)
 ("[[l" ?,B5(B)
 ("]l" ?,B5(B)
 ("[n" ?,Br(B)
 ("[[n" ?,Br(B)
 ("]n" ?,Br(B)
 ("[[o" ?,Bt(B)
 ("[[[o" ?,Bv(B)
 ("[o" ?,Bs(B)
 ("]o" ?,Bt(B)
 ("][o" ?,Bv(B)
 ("[r" ?,B`(B)
 ("[[r" ?,Bx(B)
 ("]r" ?,Bx(B)
 ("[s" ?,B9(B)
 ("[[s" ?,B9(B)
 ("[[[s" ?,B_(B)
 ("]s" ?,B9(B)
 ("[t" ?,B;(B)
 ("[[t" ?,B;(B)
 ("]t" ?,B;(B)
 ("[u" ?,Bz(B)
 ("[[u" ?,By(B)
 ("[[[u" ?,B|(B)
 ("]u" ?,By(B)
 ("][u" ?,B|(B)
 ("[y" ?,B}(B)
 ("[z" ?,B>(B)
 ("[[z" ?,B>(B)
 ("]z" ?,B>(B)
 ("[A" ?,BA(B)
 ("[[A" ?,BD(B)
 ("[[[A" ?,BD(B)
 ("]A" ?,BD(B)
 ("][A" ?,BD(B)
 ("[C" ?,BH(B)
 ("[[C" ?,BH(B)
 ("]C" ?,BH(B)
 ("[D" ?,BO(B)
 ("[[D" ?,BO(B)
 ("]D" ?,BO(B)
 ("[E" ?,BI(B)
 ("[[E" ?,BL(B)
 ("]E" ?,BL(B)
 ("[I" ?,BM(B)
 ("[L" ?,BE(B)
 ("[[L" ?,B%(B)
 ("]L" ?,B%(B)
 ("[N" ?,BR(B)
 ("[[N" ?,BR(B)
 ("]N" ?,BR(B)
 ("[O" ?,BS(B)
 ("[[O" ?,BT(B)
 ("[[[O" ?,BV(B)
 ("]O" ?,BT(B)
 ("][O" ?,BV(B)
 ("[R" ?,B@(B)
 ("[[R" ?,BX(B)
 ("]R" ?,BX(B)
 ("[S" ?,B)(B)
 ("[[S" ?,B)(B)
 ("[[[S" ?,B_(B)
 ("]S" ?,B)(B)
 ("[T" ?,B+(B)
 ("[[T" ?,B+(B)
 ("]T" ?,B+(B)
 ("[U" ?,BZ(B)
 ("[[U" ?,BY(B)
 ("[[[U" ?,B\(B)
 ("]U" ?,BY(B)
 ("][U" ?,B\(B)
 ("[Y" ?,B](B)
 ("[Z" ?,B.(B)
 ("[[Z" ?,B.(B)
 ("]Z" ?,B.(B)
 ([kp-1] ?1)
 ([kp-2] ?2)
 ([kp-3] ?3)
 ([kp-4] ?4)
 ([kp-5] ?5)
 ([kp-6] ?6)
 ([kp-7] ?7)
 ([kp-8] ?8)
 ([kp-9] ?9)
 ([kp-0] ?0)
 ([kp-add] ?+))

;; arch-tag: 8aedb992-e191-4eec-ad0d-71a352e02a3d
;;; slovak.el ends here