Merge from emacs-23
[emacs.git] / lisp / emulation / pc-mode.el
blob37e6cc1aa4b827ab37d5939424b44de087d4ccad
1 ;;; pc-mode.el --- emulate certain key bindings used on PCs
3 ;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005,
4 ;; 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
6 ;; Maintainer: FSF
7 ;; Keywords: emulations
9 ;; This file is part of GNU Emacs.
11 ;; GNU Emacs is free software: you can redistribute it and/or modify
12 ;; it under the terms of the GNU General Public License as published by
13 ;; the Free Software Foundation, either version 3 of the License, or
14 ;; (at your option) any later version.
16 ;; GNU Emacs is distributed in the hope that it will be useful,
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 ;; GNU General Public License for more details.
21 ;; You should have received a copy of the GNU General Public License
22 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
24 ;;; Commentary:
26 ;;; Code:
28 ;;;###autoload
29 (defun pc-bindings-mode ()
30 "Set up certain key bindings for PC compatibility.
31 The keys affected are:
32 Delete (and its variants) delete forward instead of backward.
33 C-Backspace kills backward a word (as C-Delete normally would).
34 M-Backspace does undo.
35 Home and End move to beginning and end of line
36 C-Home and C-End move to beginning and end of buffer.
37 C-Escape does list-buffers."
39 (interactive)
40 (define-key function-key-map [delete] "\C-d")
41 (define-key function-key-map [M-delete] [?\M-d])
42 (define-key function-key-map [C-delete] [?\M-d])
43 (global-set-key [C-M-delete] 'kill-sexp)
44 (global-set-key [C-backspace] 'backward-kill-word)
45 (global-set-key [M-backspace] 'undo)
47 (global-set-key [C-escape] 'list-buffers)
49 (global-set-key [home] 'beginning-of-line)
50 (global-set-key [end] 'end-of-line)
51 (global-set-key [C-home] 'beginning-of-buffer)
52 (global-set-key [C-end] 'end-of-buffer))
54 (provide 'pc-mode)
56 ;; arch-tag: df007c05-f885-4cd0-8c1e-487d0f8dd9c9
57 ;;; pc-mode.el ends here