1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3
4<head>
5<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
6<META name="GENERATOR" content="Microsoft FrontPage 5.0">
7<META http-equiv="Content-Style-Type" content="text/css">
8<LINK rel="stylesheet" type="text/css" href="../CSS/revolution.css">
9<title>KPRMode</title>
10</head>
11
12<body>
13
14<h1>KPRMode Structure</h1>
15
16<h2>Syntax</h2>
17<dl><dd><pre class="construction">
18#include &lt;revolution/kpr.h&gt;
19
20typedef enum _KPRMode
21{
22  KPR_MODE_NONE               = 0x00,
23  KPR_MODE_ALT_KEYPAD         = 0x01,
24  KPR_MODE_DEADKEY            = 0x02,
25  KPR_MODE_JP_ROMAJI_HIRAGANA = 0x04,
26  KPR_MODE_JP_ROMAJI_KATAKANA = 0x08
27} KPRMode;
28</pre></dd></dl>
29
30<h2>Description</h2>
31<p>This type defines the possible processing modes for a queue.</p>
32<p><code>KPR_MODE_NONE</code> - no processing is done. Characters that are input are immediately available for output.</p>
33
34<p><code>KPR_MODE_ALT_KEYPAD</code> - Processes keystrokes that use Alt and number keys on the numeric keypad. When these keys are pressed on the keyboard, dedicated Unicode values <code>KBK_Keypad_0</code> through <code>KBK_Keypad_9</code> (from the KBD library) should be entered into the queue. When the Alt key is released, a <code>NULL</code> (0) should be entered into the queue. The entered key strokes will then be converted into a single character based upon the value entered. If the first key of the sequence was <code>KBK_Keypad_0</code>, then a lookup table based on DOS Code Page 1252 will be used for codes 128-255. Otherwise, a lookup table based on DOS Code Page 437 will be used. Values beyond 255 will wrap around. Values beyond 2^30 will become ASCII 32 (space). This mode may be used simultaneously with other modes.</p>
35
36<p><code>KPR_MODE_DEADKEY</code> - Processes any dead-key characters (combining accent characters). When such a character is entered into the queue (UTF-16 characters in the 0x0300 range), the character is held until the next character is entered. The sequence is either combined into a single character, or else the combining accent is converted into a spacing accent and output along with the second character. If the second character was also a combining accent, it is also converted into its spacing version. This mode is mutually exclusive with the modes below.</p>
37
38<p><code>KPR_MODE_JP_ROMAJI_HIRAGANA, KPR_MODE_JP_ROMAJI_KATAKANA</code> - Converts characters from Roman letters (a-z) into UTF-16 Hiragana or Katakana. Characters will be held in the queue until they either combine or else it is determined that they cannot combine. Inserting non-letters will flush out any non-combined consonants. Input letters should be lower case only. These modes are mutually exclusive with <code>KPR_MODE_DEADKEY</code>.</p>
39
40<h2>See Also</h2>
41<P class="reference">
42<a href="list.html">Key Processing Functions</a>,
43<a href="KPRSetMode.html">KPRSetMode</a>,
44<a href="KPRGetMode.html">KPRGetMode</a>
45</p>
46
47<H2>Revision History</H2>
48<P>
492007/07/09 Initial version.<br>
50</P>
51
52<hr><p>CONFIDENTIAL</p></body>
53</HTML>