.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Keyboard 3pm" .TH Keyboard 3pm "2002-12-04" "perl v5.20.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" X11::Keyboard \- Keyboard support functions for X11 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 \& use X11::Protocol; \& use X11::Keyboard; \& \& $x = X11::Protocol\->new(); \& $k = X11::Keyboard\->new($x); \& $keysym = $k\->StringToKeysym("plus"); \& print $k\->KeysymToKeycode($keysym); \& \& # or, more simply \& print $k\->KeysymToKeycode("plus"); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This module is meant to provide access to the keyboard functions of X11. Whilst the functions names are essentially identical to those used in xlib (minus the prepended X), the parameter lists and return values are different as specified in this document. .SH "METHODS" .IX Header "METHODS" An object oriented interface is provided as follows: .SS "new " .IX Subsection "new " Used to initialise the system, this method requires a handle to an X connection (typically generated using the X11::Protocol module) and returns an object instance. .ie n .SS "keysym-num = StringToKeysym [keysym\-name = $_]" .el .SS "keysym-num = StringToKeysym [keysym\-name = \f(CW$_\fP]" .IX Subsection "keysym-num = StringToKeysym [keysym-name = $_]" This method requires a keysym name and returns its corresponding numeric value. If no name is provided, \fB\f(CB$_\fB\fR is used. .PP \&\fI\- exempli gratia \-\fR .PP .Vb 2 \& $c = $k\->StringToKeysym("Backspace"); \& # $c now contains 65288 .Ve .ie n .SS "keycode [state] = KeysymToKeycode [keysym\-[num|name] = $_]" .el .SS "keycode [state] = KeysymToKeycode [keysym\-[num|name] = \f(CW$_\fP]" .IX Subsection "keycode [state] = KeysymToKeycode [keysym-[num|name] = $_]" This method returns the keycode corresponding to the passed-in keysym name or number (if neither is passed \fB\f(CB$_\fB\fR is used). In such cases where the keysym name evaluates to a numeric value e.g. [0\-9], the caller is responsible for first converting the value to a true keysym-num. .PP The method can also return the associated state. If the calling context is a list it is returned, if scalar, only the keycode is returned. .SH "AUTHOR" .IX Header "AUTHOR" Erick Calder .SH "ACKNOWLEDGEMENTS" .IX Header "ACKNOWLEDGEMENTS" My gratitude to Benjamin Goldberg for his patience and direction in my struggles to put this together, as well as to Somni and dkr from the \s-1OPN\s0 #perl channel. .SH "AVAILABILITY + SUPPORT" .IX Header "AVAILABILITY + SUPPORT" For support e\-mail the author. This module may be found on the \s-1CPAN. \s0 Additionally, both the module and its \s-1RPM\s0 package are available from: .PP \&\fIhttp://perl.arix.com\fR .SH "DATE" .IX Header "DATE" \&\f(CW$Date:\fR 2002/12/04 05:16:01 $ .SH "VERSION" .IX Header "VERSION" \&\f(CW$Revision:\fR 1.4 $ .SH "LICENSE AND COPYRIGHT" .IX Header "LICENSE AND COPYRIGHT" Copyright (c) 2002 Erick Calder. This product is distributed under the \s-1MIT\s0 License. A copy of this license was included in a file called \s-1LICENSE.\s0 If for some reason, this file was not included, please see \fIhttp://www.opensource.org/licenses/mit\-license.html\fR to obtain a copy of this license.