summaryrefslogtreecommitdiff
path: root/man/XGetDeviceKeyMapping.man
diff options
context:
space:
mode:
Diffstat (limited to 'man/XGetDeviceKeyMapping.man')
-rw-r--r--man/XGetDeviceKeyMapping.man187
1 files changed, 187 insertions, 0 deletions
diff --git a/man/XGetDeviceKeyMapping.man b/man/XGetDeviceKeyMapping.man
new file mode 100644
index 0000000..ba52b7c
--- /dev/null
+++ b/man/XGetDeviceKeyMapping.man
@@ -0,0 +1,187 @@
+.\"
+.\" Copyright ([\d,\s]*) by Hewlett-Packard Company, Ardent Computer,
+.\"
+.\" Permission to use, copy, modify, distribute, and sell this documentation
+.\" for any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\" Ardent, and Hewlett-Packard make no representations about the
+.\" suitability for any purpose of the information in this document. It is
+.\" provided \`\`as is'' without express or implied warranty.
+.\"
+.\" $Xorg: XChKMap.man,v 1.4 2001/03/16 17:51:13 pookie Exp $
+.ds xL Programming with Xlib
+.TH XGetDeviceKeyMapping 3X11 "Release 6.6" "X Version 11" "X FUNCTIONS"
+.SH NAME
+XGetDeviceKeyMapping, XChangeDeviceKeyMapping \- query or change device key mappings
+.SH SYNTAX
+\fB
+XChangeDeviceKeyMapping(\^\fIdisplay\fP, \fIdevice\fP, \fIfirst_keycode\fP,
+\fIkeysyms_per_keycode\fP, \fIkeysyms\fP, \fIkeycode_count\fP\^)
+.nf
+ Display *\fIdisplay\fP\^;
+ XDevice *\fIdevice\fP\^;
+ int \fIfirst_keycode\fP\^;
+ int \fIkeysyms_per_keycode\fP\^;
+ KeySym *\fIkeysyms\fP\^;
+ int \fIkeycode_count\fP\^;
+
+KeySym *XGetDeviceKeyMapping(\^\fIdisplay\fP, \fIdevice\fP, \fIfirst_keycode\fP, \fIkeycode_count\fP,
+\fIkeysyms_per_keycode_return\fP\^)
+ Display *\fIdisplay\fP\^;
+ XDevice *\fIdevice\fP\^;
+ KeyCode \fIfirst_keycode\fP\^;
+ int \fIkeycode_count\fP\^;
+ int *\fIkeysyms_per_keycode_return\fP\^;
+.fi
+\fP
+.SH ARGUMENTS
+.TP 12
+.I display
+Specifies the connection to the X server.
+.TP 12
+.I device
+Specifies the device whose key mapping is to be queried or modified.
+.TP 12
+.I first_keycode
+Specifies the first KeyCode to be returned.
+.TP 12
+.I keycode_count
+Specifies the number of KeyCodes to be returned or modified.
+.TP 12
+.I keysyms_per_keycode
+Specifies the number of KeySyms per KeyCode.
+.TP 12
+.I keysyms_per_keycode_return
+Specifies the address of a variable into which the number of KeySyms per KeyCode
+will be returned.
+.TP 12
+.I keysyms
+Specifies the address of an array of KeySyms.
+.SH DESCRIPTION
+For the specified device,
+the \fIXGetDeviceKeyMapping\fP request returns
+the symbols for the specified number of KeyCodes
+starting with first_keycode.
+The value specified in first_keycode must be greater than
+or equal to min_keycode as returned by
+\fIXListInputDevices\fP,
+or a
+\fIBadValue\fP
+error results.
+In addition, the following expression must be less than or equal
+to max_keycode as returned by
+\fIXListInputDevices\fP:
+.LP
+.DS
+first_keycode + keycode_count \- 1
+.DE
+.LP
+If this is not the case, a
+\fIBadValue\fP
+error results.
+The number of elements in the KeySyms list is:
+.LP
+.DS
+keycode_count * keysyms_per_keycode_return
+.DE
+.LP
+KeySym number N, counting from zero, for KeyCode K has the following index
+in the list, counting from zero:
+.DS
+(K \- first_code) * keysyms_per_code_return + N
+.DE
+.LP
+The X server arbitrarily chooses the keysyms_per_keycode_return value
+to be large enough to report all requested symbols.
+A special KeySym value of
+\fINoSymbol\fP
+is used to fill in unused elements for
+individual KeyCodes.
+To free the storage returned by
+\fIXGetDeviceKeyMapping\fP,
+use
+\fIXFree\fP.
+.LP
+If the specified device does not support input class keys, a \fIBadMatch\fP
+error will result.
+.LP
+\fIXGetDeviceKeyMapping\fP
+can generate a \fIBadDevice\fP, \fIBadMatch\fP, or \fIBadValue\fP
+error.
+.LP
+For the specified device, the \fIXChangeDeviceKeyMapping\fP
+request defines the symbols for the specified number of KeyCodes
+starting with first_keycode.
+The symbols for KeyCodes outside this range remain unchanged.
+The number of elements in keysyms must be:
+.LP
+.DS
+num_codes * keysyms_per_keycode
+.DE
+.LP
+The specified first_keycode must be greater than or equal to min_keycode
+returned by \fIXListInputDevices\fP, or a \fIBadValue\fP error results.
+In addition, the following expression must be less than or equal to
+max_keycode as returned by
+\fIXListInputDevices\fP, or a \fIBadValue\fP error results:
+.LP
+.DS
+first_keycode + num_codes \- 1
+.DE
+.LP
+KeySym number N, counting from zero, for KeyCode K has the following index
+in keysyms, counting from zero:
+.LP
+.DS
+(K \- first_keycode) * keysyms_per_keycode + N
+.DE
+.LP
+The specified keysyms_per_keycode can be chosen arbitrarily by the client
+to be large enough to hold all desired symbols.
+A special KeySym value of
+\fINoSymbol\fP
+should be used to fill in unused elements
+for individual KeyCodes.
+It is legal for
+\fINoSymbol\fP
+to appear in nontrailing positions
+of the effective list for a KeyCode.
+\fIXChangeDeviceKeyMapping\fP generates a \fIDeviceMappingNotify\fP
+event that is sent to all clients that have selected that type of event.
+.LP
+There is no requirement that the X server interpret this mapping.
+It is merely stored for reading and writing by clients.
+.LP
+If the specified device does not support input class keys, a \fIBadMatch\fP
+error results.
+.LP
+\fIXChangeDeviceKeyMapping\fP can generate a \fIBadDevice\fP,
+\fIBadMatch\fP, \fIBadAlloc\fP, or \fIBadValue\fP error.
+.LP
+.SH DIAGNOSTICS
+.TP 12
+\fIBadDevice\fP
+An invalid device was specified. The specified device does not exist or has
+not been opened by this client via \fIXOpenInputDevice\fP. This error may
+also occur if the specified device is the X keyboard or X pointer device.
+.TP 12
+\fIBadMatch\fP
+This error may occur if an \fIXGetDeviceKeyMapping\fP or
+\fIXChangeDeviceKeyMapping\fP request was made
+specifying
+a device that has no keys.
+.TP 12
+\fIBadValue\fP
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.TP 12
+\fIBadAlloc\fP
+The server failed to allocate the requested resource or server memory.
+.SH "SEE ALSO"
+XSetDeviceButtonMapping(3X11)
+.br
+XSetDeviceModifierMapping(3X11)
+.br
+\fI\*(xL\fP