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 <revolution/kpr.h> 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>