Propagate Layer changes via Style command on-the-fly.
[fvwm.git] / doc / commands / Key.xml
blob707a2658c0ddbee3b8318587a2b92973a0110ac3
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE part PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3   "../docbook-xml/docbookx.dtd"
5 <!ENTITY % myents SYSTEM "../fvwm.ent" >
6 %myents;
7 ]>
9 <!-- $Id: Key.xml,v 1.3 2007/06/16 12:38:46 griph Exp $ -->
11 <section id='Key'>
12 <title>Key</title>
14 <cmdsynopsis>
15         <command>Key</command
16         ><arg choice='opt'
17                 >(<replaceable>window</replaceable
18         >)</arg>
19         <arg choice='plain'
20                 ><replaceable>Keyname</replaceable
21         ></arg>
22         <arg choice='plain'
23                 ><replaceable>Context</replaceable
24         ></arg>
25         <arg choice='plain'
26                 ><replaceable>Modifiers</replaceable
27         ></arg>
28         <arg choice='plain'
29                 ><replaceable>Function</replaceable
30         ></arg>
31 </cmdsynopsis>
33 <para>Binds a keyboard key to a specified fvwm command, or
34 removes the binding if
35 <replaceable>Function</replaceable>
36 is '-'.  The syntax is the same as for a
37 <fvwmref cmd="Mouse"/>
38 binding except that the mouse button number is replaced with a
39 <replaceable>Keyname</replaceable>.
40 Normally, the key binding is activated when the key is pressed.
41 <replaceable>Keyname</replaceable>
42 is a standard X11 key name as defined in
43 <filename>/usr/include/X11/keysymdef.h</filename>,
44 (without the
45 <emphasis remap='I'>XK_</emphasis>
46 prefix), or the keysym database
47 <filename>/usr/X11R6/lib/X11/XKeysymDB</filename>.
48 Only key names that are
49 generated with no modifier keys or with just the
50 <keysym>Shift</keysym>
51 key held are guaranteed to work.  The
52 <replaceable>Context</replaceable> and <replaceable>Modifiers</replaceable>
53 fields are defined as in the
54 <fvwmref cmd="Mouse"/>
55 binding.  However, when you press a key the context window is the
56 window that has the keyboard focus.  That is not necessarily the
57 same as the window the pointer is over (with
58 <fvwmref cmd="Style" opt="SloppyFocus"/> or
59 <fvwmref cmd="Style" opt="ClickToFocus"/>).
60 Note that key bindings with the '<fvwmopt cmd="Key" opt="R"/>' (root window) context do not
61 work properly with
62 <fvwmref cmd="Style" opt="SloppyFocus"/> and
63 <fvwmref cmd="Style" opt="ClickToFocus"/>.
64 If you encounter problems, use the
65 <fvwmref cmd="PointerKey"/>
66 command instead.  If you want to bind keys to a window with
67 <fvwmref cmd="Style" opt="SloppyFocus"/> or
68 <fvwmref cmd="Style" opt="ClickToFocus"/>
69 that are supposed to work when the pointer is not over the window,
70 fvwm assumes the pointer is over the client window (i.e. you have
71 to use the 'W' context).</para>
73 <para>The special context '<fvwmopt cmd="Key" opt="M"/>' for menus can be used to (re)define the menu
74 controls. It be used alone or together with 'T', 'S', 'I', '[', ']', '-' and '_'.  See the <fvwmref sect="menus" opt="menu_bindings" name="Menu Bindings"/>
75 section for details.</para>
77 <para>The following example binds the built-in window list to pop up
78 when
79 <keysym>Alt-Ctrl-Shift-F11</keysym>
80 is hit, no matter where the mouse pointer is:</para>
82 <programlisting>
83 Key F11 A SCM <fvwmref cmd="WindowList"/>
84 </programlisting>
86 <para>Binding a key to a title-bar button causes that button to appear.
87 Please refer to the
88 <fvwmref cmd="Mouse"/>
89 command for details.</para>
91 </section>