¤³¤Î¾Ï¤ÎÌܼ¡¤Ë¤â¤É¤ë
Á°ÊÇ:1.6 ¥Õ¥¡¥¤¥ë´ÉÍý¤Ë¤â¤É¤ë
¼¡ÊÇ:1.8 ¥Ç¥Ð¥¤¥¹´ÉÍý¤Ë¤¹¤¹¤à


1.7 ¥¤¥Ù¥ó¥È´ÉÍý

1.7.1 ¥¤¥Ù¥ó¥È´ÉÍýµ¡Ç½¤Î³µÍ×

¥¤¥Ù¥ó¥È´ÉÍýµ¡Ç½¤Ï¡¢¥¤¥ó¥¿¥é¥¯¥Æ¥£¥Ö¤Ê¥Ò¥å¡¼¥Þ¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ò¼Â¸½¤¹¤ë¤¿¤á ¤Ë¡¢¥æ¡¼¥¶¤È¤ÎÂÐÏä˻ÈÍѤ¹¤ë¥­¡¼¥Ü¡¼¥É(KB)¤È¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹(PD)¤Î Áàºî¤ò¡Ö¥¤¥Ù¥ó¥È¡×¤È¤¤¤¦·Á¤ÇÅý°ìŪ¤Ë¼è¤ê°·¤¦µ¡Ç½¤Ç¤¢¤ê¡¢¤³¤Îµ¡Ç½¤Ë¤è¤ê¡¢½ÀÆð¤Ê ¥¤¥ó¥¿¥é¥¯¥Æ¥£¥ÖÁàºî¤ò¼Â¸½¤¹¤ë¤³¤È¤¬²Äǽ¤È¤Ê¤ë¡£

¥­¡¼¥Ü¡¼¥É¤ª¤è¤Ó¡¢¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤ÎÁàºî¤Ï¡Ö¥¤¥Ù¥ó¥È¡×¤È¤·¤Æ¥·¥¹¥Æ¥à¤Ç1¤Ä¤Î¥¤¥Ù¥ó¥È¥­¥å¡¼¤Ë½ç¼¡³ÊǼ¤µ¤ì¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¥¤¥Ù¥ó¥È¥­¥å¡¼¤«¤é¥¤¥Ù¥ó¥È¤ò½ç¼¡¼è¤ê½Ð¤·¡¢¤½¤ì¤ËÂбþ¤¹¤ë¥¢¥¯¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¡Ö¥¤¥Ù¥ó¥È¶îư·Á¼°¡×¤Î·ÁÂÖ¤ò¼è¤ë¤³¤È¤Ë¤Ê¤ë¡£

¥Þ¥ë¥Á¥×¥í¥»¥¹´Ä¶­¤Î¾ì¹ç¡¢¥æ¡¼¥¶¤È¤Î¥¤¥ó¥¿¥é¥¯¥Æ¥£¥ÖÁàºî¤òɬÍפȤ¹¤ë¥×¥í¥»¥¹¤Ï¤¢¤ë»þÅÀ¤Ç¤Ïɬ¤º1¤Ä¤Ç¤¢¤ê¡¢¥æ¡¼¥¶¤È¤Î¡ÖÆþÎϼõÉÕ¾õÂ֡פòÊ£¿ô¤Î¥×¥í¥»¥¹´Ö¤ÇÁê¸ß¤Ë¼õ¤±ÅϤ·¤Æ¤¤¤¯·ÁÂÖ¤ò¤È¤ë¡£

½¾¤Ã¤Æ¡¢¤¢¤ë»þÅÀ¤ÇÆþÎϼõÉÕ¾õÂ֤ȤʤäƤ¤¤ë¥×¥í¥»¥¹¤Î¤ß¤¬¥¤¥Ù¥ó¥È´ÉÍýµ¡Ç½¤ò»ÈÍѤ·¤Æ¥¤¥Ù¥ó¥È¤ò¼è¤ê½Ð¤¹¤È¤¤¤¦¥ë¡¼¥ë¤òÁ°Äó¤È¤·¤Æ¤ª¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¤³¤Î¥ë¡¼¥ë¤Ë½¾¤Ã¤¿Æ°ºî¤ò¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡£¥¤¥Ù¥ó¥È´ÉÍýµ¡Ç½¼«ÂΤǤϡ¢¤³¤Î¥ë¡¼¥ë¤òÊݾڤ¹¤ëµ¡¹½¤ÏÆÃ¤ËÄ󶡤·¤Æ¤ª¤é¤º¡¢³°³Ì¥ì¥Ù¥ë¤ÇÄ󶡤¹¤ë¤³¤È¤Ë¤Ê¤ë¡£

¥¤¥Ù¥ó¥È´ÉÍýµ¡Ç½¤Ë¤Ï¡¢¥¤¥Ù¥ó¥È¤Î´ÉÍý°Ê³°¤Ë¤â¡¢¥­¡¼¥Ü¡¼¥É¡¢¤ª¤è¤Ó¥Ý¥¤¥ó¥Æ¥£¥ó¥° ¥Ç¥Ð¥¤¥¹¤Î¾õÂÖ¡¿Â°À­¤Î¼è½Ð¤·¡¢ÀßÄêÅù¤Îµ¡Ç½¤â´Þ¤Þ¤ì¤Æ¤ª¤ê¡¢¥¤¥ó¥¿¥é¥¯¥Æ¥£¥Ö¤ÊÆþ ÎÏÁõÃÖ¤ËÂФ¹¤ëÅý°ìŪ¤Ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Æ¤¤¤ë¡£

1.7.2 ¥¤¥Ù¥ó¥È

¥¤¥Ù¥ó¥È¤Î¼ïÎà

°Ê²¼¤Î¥¿¥¤¥×¤Î¥¤¥Ù¥ó¥È¤¬ÄêµÁ¤µ¤ì¤ë¡£

¥Ü¥¿¥ó¥À¥¦¥ó¥¤¥Ù¥ó¥È ( EV_BUTDWN )¡§

¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Î¥Ü¥¿¥ó¤¬²¡¤µ¤ì¤¿»þ¤ËȯÀ¸¤¹¤ë¡£

¥Ü¥¿¥ó¥¢¥Ã¥×¥¤¥Ù¥ó¥È ( EV_BUTUP )¡§

¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Î¥Ü¥¿¥ó¤¬Î¥¤µ¤ì¤¿»þ¤ËȯÀ¸¤¹¤ë¡£

¥­¡¼¥À¥¦¥ó¥¤¥Ù¥ó¥È ( EV_KEYDWN )¡§

¥·¥Õ¥È¥­¡¼Åù¤ÎÆÃ¼ì¥­¡¼(¥á¥¿¥­¡¼)°Ê³°¤ÎÄ̾省¡¼¤¬²¡¤µ¤ì¤¿»þ¤ËȯÀ¸¤¹¤ë¡£

¥­¡¼¥¢¥Ã¥×¥¤¥Ù¥ó¥È ( EV_KEYUP )¡§

¥·¥Õ¥È¥­¡¼Åù¤ÎÆÃ¼ì¥­¡¼(¥á¥¿¥­¡¼)°Ê³°¤ÎÄ̾省¡¼¤¬Î¥¤µ¤ì¤¿»þ¤ËȯÀ¸¤¹¤ë¡£

¼«Æ°¥ê¥Ô¡¼¥È¥­¡¼¥¤¥Ù¥ó¥È ( EV_AUTKEY )¡§

¼«Æ°¥ê¥Ô¡¼¥È¤ÎÂоݤȤʤ륭¡¼¤¬²¡¤µ¤ì³¤±¤Æ¤¤¤¿»þ¤Ë¼þ´üŪ¤ËȯÀ¸¤¹¤ë¡£ ¼«Æ°¥ê¥Ô¡¼¥È¤ÎÂоݤȤʤ륭¡¼¤ò²¡¤·¤Æ¤«¤é¡¢ ºÇ½é¤Ë¼«Æ°¥ê¥Ô¡¼¥È¥­¡¼¥¤¥Ù¥ó¥È¤¬È¯À¸¤¹¤ë¤Þ¤Ç¤Î»þ´Ö(¥ª¥Õ¥»¥Ã¥È)¡¢ ¤ª¤è¤Ó¤½¤Î¸å¤ÎȯÀ¸´Ö³Ö(¥¤¥ó¥¿¡¼¥Ð¥ë)¤ÏǤ°Õ¤ËÀßÄê²Äǽ¤Ç¤¢¤ë¡£

¥Ç¥Ð¥¤¥¹¥¤¥Ù¥ó¥È ( EV_DEVICE )¡§

¥­¡¼¥Ü¡¼¥É¡¢¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹°Ê³°¤Î¥Ç¥Ð¥¤¥¹¤Î¤¢¤ë¼ï¤ÎÁàºî¤Ëȼ¤Ã¤ÆÈ¯À¸¤¹¤ëÈÆÍÑŪ¤Ê¥¤¥Ù¥ó¥È¤Ç¤¢¤ê¡¢¤½¤ÎÆâÍÆ¤Ï¥Ç¥Ð¥¤¥¹¤Ë°Í¸¤¹¤ë¡£ ¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯Åù¤Î¼è¤ê³°¤·²Äǽ¥á¥Ç¥£¥¢¤òÁõÃ夷¤¿¾ì¹ç¤Ï¡¢ ¤³¤Î¥¤¥Ù¥ó¥È¤¬È¯À¸¤¹¤ë¡£

¥Ì¥ë¥¤¥Ù¥ó¥È ( EV_NULL )¡§

ÂоݤȤ¹¤ë¥¤¥Ù¥ó¥È¤¬È¯À¸¤·¤Æ¤¤¤Ê¤¤¤³¤È¤ò¼¨¤¹µ¼»÷Ū¤Ê¥¤¥Ù¥ó¥È¡£

¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥Ù¥ó¥È ( EV_APPL1 ¡Á EV_APPL8 )¡§

¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤è¤êÄêµÁ¤µ¤ì»ÈÍѤµ¤ì¤ë¥¤¥Ù¥ó¥È¤Ç¤¢¤ê¡¢ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó´Ö¤Ç¤ÎÄÌ¿®µ¡Ç½¤È¤·¤Æ»ÈÍѤµ¤ì¤ë¡£ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥Ù¥ó¥È¤Î¤¤¤¯¤Ä¤«¤Ï³°³Ì¤Ë¤è¤ê¡¢¤½¤Î°ÕÌ£¤¬ÄêµÁ¤µ ¤ì¤ë¡£

ʪÍýŪ¤Ê¥­¡¼¥Ü¡¼¥É¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢¥¤¥Ù¥ó¥È´ÉÍý¤ÎÃʳ¬¤Ç¤Ï EV_KEYDWN, EV_KEYUP, EV_AUTOKEY¤ÏȯÀ¸¤·¤Ê¤¤¡£¥½¥Õ¥È¥­¡¼¥Ü¡¼¥É¤Î¤è¤¦¤Ê¥Õ¥í¥ó¥È¥¨¥ó¥É¥×¥í¥»¥¹¤Ç¡¢¥Ü¥¿¥ó¥¤¥Ù¥ó¥È¤¬Å¬Åö¤Ê¥­¡¼¥¤¥Ù¥ó¥È¤ËÊÑ´¹¤µ¤ì¤Æ¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÅϤµ¤ì¤ë¡£

¥¤¥Ù¥ó¥È¤Î¥¿¥¤¥×¤Ï¡¢0 ¡Á 15 ¤Î¥¿¥¤¥×ÈÖ¹æ¤Ç¶èÊ̤µ¤ì¤ë¡£¤Þ¤¿³Æ¥¤¥Ù¥ó¥È¥¿¥¤¥×¤Ë Âбþ¤·¤¿¥¿¥¤¥×¥Þ¥¹¥¯¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¤³¤Î¥Þ¥¹¥¯¤Ë¤è¤ê¡¢ÂоݤȤ¹¤ë¥¤¥Ù¥ó¥È¤Î ¥¿¥¤¥×¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¥¿¥¤¥×¥Þ¥¹¥¯¤Ï¥Ó¥Ã¥ÈÂбþ¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢"1"¤Î¥Ó ¥Ã¥È¤ËÂбþ¤¹¤ë¥¿¥¤¥×¤Î¥¤¥Ù¥ó¥È¤¬ÂоݤȤµ¤ì¤ë¡£¤¿¤À¤·¡¢¥Ì¥ë¥¤¥Ù¥ó¥È¤ËÂФ·¤Æ¤Ï¡¢¤½¤ÎÀ­¼Á¾å¥Þ¥¹¥¯¤ÏÄêµÁ¤µ¤ì¤Ê¤¤¡£

    ¥¤¥Ù¥ó¥È    ¥¿¥¤¥×ÈÖ¹æ      ¥¿¥¤¥×¥Þ¥¹¥¯
    EV_NULL     0       --------
    EV_BUTDWN   1       EM_BUTDWN (0x0001)
    EV_BUTUP    2       EM_BUTUP  (0x0002)
    EV_KEYDWN   3       EM_KEYDWN (0x0004)
    EV_KEYUP    4       EM_KEYUP  (0x0008)
    EV_AUTKEY   5       EM_AUTKEY (0x0010)
    EV_DEVICE   6       EM_DEVICE (0x0020)
    EV_RSV      7       EM_RSV    (0x0040) ( ͽÌó )
    EV_APPL1    8       EM_APPL1  (0x0080)
     ¡§¡§                ¡§¡§
    EV_APPL8    15      EM_APPL8  (0x4000)

¤Ê¤ª¡¢¥¿¥¤¥×¥Þ¥¹¥¯¤È¤·¤Æ¤Ï°Ê²¼¤ÎÆÃ¼ì¤Ê¥Þ¥¹¥¯¤âÍѰդµ¤ì¤Æ¤¤¤ë¡£

    EM_NULL 0x0000
    EM_ALL  0x7fff

¥¤¥Ù¥ó¥È¤Î¹½Â¤

¥¤¥Ù¥ó¥È¤Ï°Ê²¼¤Ë¼¨¤¹¹½Â¤ÂΤÇÄêµÁ¤µ¤ì¤ë¡£

typedef struct {
    W   type;           /* ¥¤¥Ù¥ó¥È¥¿¥¤¥× */
    UW  time;           /* ¥¤¥Ù¥ó¥ÈȯÀ¸»þ¹ï */
    PNT pos;            /* ¥¤¥Ù¥ó¥ÈȯÀ¸»þ¤ÎPD°ÌÃÖ */
    EVDATA  data;       /* ¥¤¥Ù¥ó¥È¤Î¸ÇÍ­¥Ç¡¼¥¿ */
    UW  stat;           /* ¥á¥¿¥­¡¼¡¢PD¥Ü¥¿¥ó¾õÂÖ */
} EVENT;
type:
¥¤¥Ù¥ó¥È¤Î¥¿¥¤¥×¤ò¼¨¤¹ 0 ¡Á 15 ¤ÎÃͤǤ¢¤ë¡£
time:
¥¤¥Ù¥ó¥ÈȯÀ¸»þ¹ï¤ò¼¨¤¹¥ß¥êÉÃñ°Ì¤ÎÁêÂÐŪ¤Ê»þ¹ï¤Ç¤¢¤ê¡¢¤³¤ÎÃͤϥ¤¥Ù¥ó¥È¤ÎȯÀ¸½ç½ø¡¢È¯À¸´Ö³Ö¤ò¼¨¤·¤Æ¤¤¤ë¤â¤Î¤ÇÀäÂлþ¹ï¤È¤·¤Æ¤Î°ÕÌ£¤Ï»ý¤¿¤Ê¤¤¡£
ÆâÉôŪ¤Ë¥¤¥Ù¥ó¥È¥¿¥¤¥Þ¡¼¤È¸Æ¤Ð¤ì¤ë¡¢¥ß¥êÉÃñ°Ì¤Ç²Ã»»¤µ¤ì¤ë32¥Ó¥Ã¥È¤Î¥¿¥¤¥Þ¡¼¤¬Â¸ºß¤·¡¢¥¤¥Ù¥ó¥È¤¬È¯À¸¤·¤¿»þÅÀ¤Î¥¿¥¤¥Þ¡¼¤ÎÃͤ¬¥¤¥Ù¥ó¥ÈȯÀ¸»þ¹ï¤È¤·¤Æ¥»¥Ã¥È¤µ¤ì¤ë¡£32¥Ó¥Ã¥È¤ò¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤¿¾ì¹ç¤Ïñ¤Ë¾å°Ì¥Ó¥Ã¥È¤¬¼Î¤Æ¤é¤ì¤ë¡£¥¤¥Ù¥ó¥È¥¿¥¤¥Þ¡¼¤Îʬ²òǽ¤Ï¥¤¥ó¥×¥ê¥á¥ó¥È¤Ë°Í¸¤¹¤ë¡£
¤Ê¤ª¡¢¥¢¥×¥ê¡¼¥·¥ç¥ó¥¤¥Ù¥ó¥È¤Ç¤Î time ¤Î°ÕÌ£¤Ï¥¤¥Ù¥ó¥È¤ÎÄêµÁ¤Ë°Í¸¤¹¤ë¡£
pos:
¥¤¥Ù¥ó¥ÈȯÀ¸»þÅÀ¤Î¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤ÎºÂɸ°ÌÃÖ¤ò¡¢¥¹¥¯¥ê¡¼¥ó¤Îº¸¾å¤ò (0, 0) ¤È¤·¤¿ÀäÂкÂɸÃͤǼ¨¤¹¤â¤Î¤Ç¡¢°Ê²¼¤Î PNT ¥¿¥¤¥×¤ÎÃͤǤ¢¤ë¡£
        typedef struct point {
            H   x;  /* ¿åÊ¿ºÂɸÃÍ */
            H   y;  /* ¿âľºÂɸÃÍ */
        } PNT;

¤Ê¤ª¡¢¥¢¥×¥ê¡¼¥·¥ç¥ó¥¤¥Ù¥ó¥È¤Ç¤Î pos ¤Î°ÕÌ£¤Ï¥¤¥Ù¥ó¥È¤ÎÄêµÁ¤Ë°Í¸¤¹¤ë¡£

data:
¥¤¥Ù¥ó¥È¤Î¸ÇÍ­¥Ç¡¼¥¿¤Ç¤¢¤ê¡¢¥¤¥Ù¥ó¥È¤Î¥¿¥¤¥×¤Ë°Í¸¤·¤¿ÆâÍÆ¤Ç¤¢¤ë¡£
    typedef union {
        struct {        /* EV_KEYUP,EV_KEYDWN,EV_AUTKEY */
            UH  keytop; /* ¥­¡¼¥È¥Ã¥×¥³¡¼¥É */
            TC  code;   /* ʸ»ú¥³¡¼¥É */
        } key;
        struct {        /* EV_DEVICE */
            H   kind;   /* ¥Ç¥Ð¥¤¥¹¥¤¥Ù¥ó¥È¼ïÊÌ */
            H   devno;  /* ¥Ç¥Ð¥¤¥¹ÈÖ¹æ */
        } dev;
        W   info;       /* ¤½¤Î¾¤Î¥¤¥Ù¥ó¥ÈÍѥǡ¼¥¿ */
    } EVDATA;
EV_KEYDWN, EV_KEYUP, EV_AUTKEY ¤Î¾ì¹ç¤Ï¡¢key ¤¬Å¬ÍѤµ¤ì¡¢¥­¡¼¤ÎʪÍýŪ¤Ê°ÌÃÖ¤ò¼¨¤¹¥­¡¼¥È¥Ã¥×¥³¡¼¥É¤È¡¢¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿Ê¸»ú¥³¡¼¥É¤«¤é¤Ê¤ë¡£
EV_DEVICE ¤Î¾ì¹ç¤Ï¡¢dev ¤¬Å¬ÍѤµ¤ì¡¢¥Ç¥Ð¥¤¥¹¥¤¥Ù¥ó¥È¤Î¼ïÊÌ(kind)¤È¥¤¥Ù¥ó¥È¤¬È¯À¸¤·¤¿¥Ç¥Ð¥¤¥¹¤ò¼¨¤¹¥Ç¥Ð¥¤¥¹ÈÖ¹æ(devno)¤«¤é¤Ê¤ë¡£¥¤¥Ù¥ó¥È¤Î¼ïÊ̤ϰʲ¼¤Ë¼¨¤¹¤â¤Î¤Ç¤¢¤ë¡£
        kind ¡á DE_unknown  0       -- ̤ÄêµÁ
            DE_MOUNT        0x01    -- ¥á¥Ç¥£¥¢ÁÞÆþ
            DE_EJECT        0x02    -- ¥á¥Ç¥£¥¢ÇÓ½Ð
            DE_ILLMOUNT     0x03    -- ¥á¥Ç¥£¥¢ÉÔÀµÁÞÆþ
            DE_ILLEJECT     0x04    -- ¥á¥Ç¥£¥¢ÉÔÀµÇÓ½Ð
            DE_REMOUNT      0x05    -- ¥á¥Ç¥£¥¢ºÆÁÞÆþ
            DE_CARDBATLOW   0x06    -- ¥«¡¼¥É¥Ð¥Ã¥Æ¥ê»ÄÎÌ·Ù¹ð
            DE_CARDBATFAIL  0x07    -- ¥«¡¼¥É¥Ð¥Ã¥Æ¥ê°Û¾ï
            DE_REQEJECT     0x08    -- ¥á¥Ç¥£¥¢ÇÓ½ÐÍ×µá
                            0x09¡Á  -- ͽÌó
¤³¤ì¤é¤Î¥Ç¥Ð¥¤¥¹¥¤¥Ù¥ó¥È¤Ï¡¢ ¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¡¼¤«¤é¤Î»ö¾ÝÄÌÃΤˤè¤êȯÀ¸¤¹¤ë¡£
EV_NULL, EV_BUTDWN, EV_BUTUP ¤Î¾ì¹ç¤Ï¡¢¤³¤Î data ¤Ï»ÈÍѤµ¤ì¤º¡¢info ¤Ï¾ï¤Ë 0 ¤È¤Ê¤ë¡£
¥¢¥×¥ê¡¼¥·¥ç¥ó¥¤¥Ù¥ó¥È(EV_APPL1¡Á8) ¤Î¾ì¹ç¤Ï¡¢¥¤¥Ù¥ó¥È¤ÎÄêµÁ¤Ë°Í¸¤·¤¿ÆâÍÆ¤È¤Ê¤ë¡£
stat:
¥¤¥Ù¥ó¥ÈȯÀ¸»þÅÀ¤Î¥á¥¿¥­¡¼¤È¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Î¥Ü¥¿¥ó¤Î¾õÂÖ¤ò¥Ó¥Ã¥ÈÂбþ¤Ç¼¨¤¹¤â¤Î¤Ç¤¢¤ë¡£³Æ¥Ó¥Ã¥È¤Ï¡¢&auot;0&auot;¤¬Î¥¤µ¤ì¤Æ¤¤¤ë(OFF)¾õÂÖ¡¢"1" ¤¬²¡¤µ¤ì¤Æ¤¤¤ë(ON)¾õÂÖ¤ò°ÕÌ£¤¹¤ë¡£
        ES_BUT      0x0001  -- PD¤Î¥á¥¤¥ó¥Ü¥¿¥ó¾õÂÖ
        ES_BUT2     0x0002  -- PD¤Î¥µ¥Ö¥Ü¥¿¥ó¾õÂÖ
        ES_ALPH     0x0004  -- ±Ñ¸ì¥í¥Ã¥¯¥­¡¼¾õÂÖ
        ES_KANA     0x0008  -- ¥«¥¿¥«¥Ê¥í¥Ã¥¯¥­¡¼¾õÂÖ
        ES_LSHFT    0x0010  -- º¸¥·¥Õ¥È¥­¡¼¾õÂÖ
        ES_RSHFT    0x0020  -- ±¦¥·¥Õ¥È¥­¡¼¾õÂÖ
        ES_EXT      0x0040  -- ³ÈÄ¥¥·¥Õ¥È¥­¡¼¾õÂÖ
        ES_CMD      0x0080  -- Ì¿Î᥷¥Õ¥È¥­¡¼¾õÂÖ
    
¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Î¥µ¥Ö¥Ü¥¿¥ó(¥á¥Ë¥å¡¼¥Ü¥¿¥ó)¤Ï¡¢²¡¤µ¤ì¤Æ¤â¥¤¥Ù¥ó¥È¤ÏȯÀ¸¤·¤Ê¤¤¡£¤Þ¤¿¡¢¾åµ­¤Î¥­¡¼¤Ï¥á¥¿¥­¡¼¤Ç¤¢¤ê¡¢²¡¤µ¤ì¤Æ¤â¥¤¥Ù¥ó¥È¤ÏȯÀ¸¤·¤Ê¤¤¡£
¤Þ¤¿¡¢²¼µ­¤Î¾õÂÖ¤ò¼¨¤¹¾ðÊó¤â´Þ¤Þ¤ì¤ë¡£
        ES_LLSHFT   0x00000100  -- º¸¥·¥Õ¥È´Ê°×¥í¥Ã¥¯
        ES_LRSHFT   0x00000200  -- ±¦¥·¥Õ¥È´Ê°×¥í¥Ã¥¯
        ES_LEXT     0x00000400  -- ³ÈÄ¥´Ê°×¥í¥Ã¥¯
        ES_LCMD     0x00000800  -- Ì¿Îá´Ê°×¥í¥Ã¥¯
        ES_TLSHFT   0x00001000  -- º¸¥·¥Õ¥È°ì»þ¥·¥Õ¥È
        ES_TRSHFT   0x00002000  -- ±¦¥·¥Õ¥È°ì»þ¥·¥Õ¥È
        ES_TEXT     0x00004000  -- ³ÈÄ¥°ì»þ¥·¥Õ¥È
        ES_TCMD     0x00008000  -- Ì¿Îá°ì»þ¥·¥Õ¥È
        ES_HAN      0x00010000  -- Ⱦ³Ñ¥­¡¼
        ES_NODSP    0x00200000  -- ¥Ý¥¤¥ó¥¿Èóɽ¼¨
        ES_PDSIM    0x00C00000  -- PD¥·¥å¥ß¥ì¡¼¥·¥ç¥ó
¤³¤ì¤é¤Î¾õÂÖÊѲ½¤Ï¥¤¥Ù¥ó¥È¤òȯÀ¸¤·¤Ê¤¤¡£

¥¤¥Ù¥ó¥È¥­¥å¡¼

¥¤¥Ù¥ó¥È¥­¥å¡¼¤Ï¡¢¥·¥¹¥Æ¥à¤ËÍ£ 1 ¤ÄÍѰդµ¤ì¤Æ¤¤¤ë¥¤¥Ù¥ó¥È³ÊǼÍѤΥ­¥å¡¼¤Ç¤¢¤ê¡¢¥¤¥Ù¥ó¥È¤¬È¯À¸½ç¤Ë³ÊǼ¤µ¤ì¤ë¡£¥­¥å¡¼¤Ë¶õ¤­¤¬Ìµ¤¤¾ì¹ç¤Ï¡¢¿·µ¬¤ËȯÀ¸¤·¤¿¥¤¥Ù¥ó¥È¡¢Â¨¤Á¡¢°ìÈÖ¿·¤·¤¤¥¤¥Ù¥ó¥È¤Ï¥­¥å¡¼¤ËÆþ¤ì¤é¤ì¤º¡¢¼Î¤Æ¤é¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡£

¥¤¥Ù¥ó¥È¥­¥å¡¼¤Ë³ÊǼ¤µ¤ì¤ë¥¤¥Ù¥ó¥È¤Ï¡¢¥·¥¹¥Æ¥à¥¤¥Ù¥ó¥È¥Þ¥¹¥¯¤Ë¤è¤êÀ©¸Â¤µ¤ì¤ë¡£Â¨¤Á¡¢¥·¥¹¥Æ¥à¥¤¥Ù¥ó¥È¥Þ¥¹¥¯¤Î "1" ¤Î¥Ó¥Ã¥È¤ËÂбþ¤¹¤ë¥¿¥¤¥×¤Î¥¤¥Ù¥ó¥È¤Î¤ß¤¬¥¤¥Ù¥ó¥È¥­¥å¡¼¤ËÆþ¤ê¡¢"0" ¤Î¥Ó¥Ã¥È¤ËÂбþ¤¹¤ë¥¿¥¤¥×¤Î¥¤¥Ù¥ó¥È¤Ï¥·¥¹¥Æ¥àÁ´ÂΤȤ·¤ÆÌµ»ë¤µ¤ì¤Æ¼Î¤Æ¤é¤ì¤ë¡£

¥·¥¹¥Æ¥à¤Î¥¹¥¿¡¼¥È¥¢¥Ã¥×»þÅÀ¤Ç¤Ï¡¢¥¤¥Ù¥ó¥È¥­¥å¡¼¤Ï¶õ¡¢¥·¥¹¥Æ¥à¥¤¥Ù¥ó¥È¥Þ¥¹¥¯¤Ï 0 ¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢¥¤¥Ù¥ó¥È´ÉÍýµ¡Ç½¤Ï»ö¼Â¾åưºî¤·¤Æ¤¤¤Ê¤¤¾õÂ֤Ǥ¢¤ë¤¿¤á¡¢É¬¤º¥·¥¹¥Æ¥à¥¤¥Ù¥ó¥È¥Þ¥¹¥¯¤òŬÅö¤ÊÃͤËÀßÄꤹ¤ëɬÍפ¬¤¢¤ë¡£

¥¤¥Ù¥ó¥È¤Ë¤Ï¡¢¤½¤Î¥¿¥¤¥×¤Ë±þ¤¸¤¿°Ê²¼¤Ë¼¨¤¹Í¥ÀèÅÙ¤¬ÉÕ¤±¤é¤ì¤Æ¤ª¤ê¡¢¹â¤¤Í¥ÀèÅ٤Υ¤¥Ù¥ó¥È¤«¤é¼è¤ê½Ð¤µ¤ì¤ë¡£Æ±°ìÍ¥ÀèÅ٤ξì¹ç¤Ï¡¢È¯À¸½ç¤Ë¼è¤ê½Ð¤µ¤ì¤ë¡£

    ( 1: ºÇ¹âÍ¥ÀèÅÙ ¡Á 6:ºÇÄãÍ¥ÀèÅÙ )
    1. EV_APPL1¡Á4 
    2. EV_BUTDWN, EV_BUTUP, EV_KEYDWN, EV_KEYUP
    3. EV_AUTKEY
    4. EV_DEVICE, EV_RSV
    5. EV_APPL5¡Á8
    6. EV_NULL

¥Ì¥ë¥¤¥Ù¥ó¥È(EV_NULL)¡¢¤ª¤è¤Ó¼«Æ°¥ê¥Ô¡¼¥È¥­¡¼¥¤¥Ù¥ó¥È(EV_AUTKEY) ¤Ï¡¢¼ÂºÝ¤Ë¤Ï¥¤¥Ù¥ó¥È¥­¥å¡¼¤Ë¤ÏÆþ¤ì¤é¤ì¤º¡¢¥¤¥Ù¥ó¥È¤Î¼è¤ê½Ð¤·Í×µá»þ¤Ë¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡£

¥Ì¥ë¥¤¥Ù¥ó¥È(EV_NULL)¡§
Í׵ᤵ¤ì¤¿¥¿¥¤¥×¤Î¥¤¥Ù¥ó¥È¤¬È¯À¸¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤ËÀ¸À®¤µ¤ì¤Æ¼è¤ê½Ð¤µ¤ì¤ë¡£
¼«Æ°¥ê¥Ô¡¼¥È¥­¡¼¥¤¥Ù¥ó¥È(EV_AUTKEY)¡§
°Ê²¼¤Î¾ò·ï¤¬Ëþ­¤µ¤ì¤¿¾ì¹ç¡¢À¸À®¤µ¤ì¤Æ¼è¤ê½Ð¤µ¤ì¤ë¡£
  1. EV_AUTKEY ¤ÏÍ׵ᤵ¤ì¤¿¥¿¥¤¥×¤Î1¤Ä¤Ç¤¢¤ë¡£
  2. EV_AUTKEY ¤ËÂбþ¤¹¤ë¥·¥¹¥Æ¥à¥¤¥Ù¥ó¥È¥Þ¥¹¥¯¤Î¥Ó¥Ã¥È¤Ï "1" ¤Ç¤¢¤ë¡£
  3. EV_AUTKEY ¤è¤êÍ¥ÀèÅ٤ι⤤¥¤¥Ù¥ó¥È¤¬È¯À¸¤·¤Æ¤¤¤Ê¤¤¡£
  4. ºÇ¿·¤Î EV_KEYDWN ¤ÎȯÀ¸¥­¡¼¤¬²¡¤µ¤ì³¤±¤é¤ì¤Æ¤¤¤ë¡£
  5. ºÇ¿·¤Î EV_KEYDWN ¤ÎȯÀ¸°Ê¹ß¡¢ÀßÄꤵ¤ì¤Æ¤¤¤ë¥ª¥Õ¥»¥Ã¥È»þ´Ö¡¢ ¤Þ¤¿¤Ï¥¤¥ó¥¿¡¼¥Ð¥ë»þ´Ö¤¬·Ð²á¤·¤¿¡£
  6. ¼«Æ°¥ê¥Ô¡¼¥È¤ÎÂоݥ­¡¼¤Ç¤¢¤ë¡£
¤Ê¤ª¡¢1¤Ä¤Î¥­¡¼¤ò²¡¤·Â³¤±¤Æ¤¤¤ë¾õÂ֤ǡ¢¤µ¤é¤ËÊ̤Υ­¡¼¤ò²¡¤·Â³¤±¤¿¾ì¹ç¤Ï¡¢ºÇ¸å¤Ë²¡¤·¤¿¥­¡¼¤Î¼«Æ°¥ê¥Ô¡¼¥È¥­¡¼¥¤¥Ù¥ó¥È¤Î¤ß¤¬È¯À¸¤¹¤ë¤³¤È¤Ë¤Ê¤ë¡£

1.7.3 ¥­¡¼¥Ü¡¼¥É

¥á¥¿¥­¡¼

TRON¥­¡¼¥Ü¡¼¥É¤Ë¤ª¤¤¤Æ°Ê²¼¤Î¥­¡¼¤Ï¥á¥¿¥­¡¼¤Ç¤¢¤ê¡¢²¡¤·¤¿¤êÎ¥¤·¤¿¤ê¤·¤¿¾ì¹ç¤Ç¤â¥¤¥Ù¥ó¥È¤ÏȯÀ¸¤·¤Ê¤¤¤¬¡¢¤½¤Î¾õÂ֤ϥ¤¥Ù¥ó¥ÈÆâ¤Î stat ¥Õ¥£¡¼¥ë¥É¤Ë¥»¥Ã¥È¤µ¤ì¡¢¤Þ¤¿Ê¸»ú¥³¡¼¥É¤Î¥¨¥ó¥³¡¼¥É¤Ë»ÈÍѤµ¤ì¤ë¡£

¥á¥¿¥­¡¼¤ÏÀè¤Ë²¡¤µ¤ì¤¿¾ì¹ç¤Î¤ßʸ»ú¤Î¥¨¥ó¥³¡¼¥É¤ËÂФ·¤ÆÍ­¸ú¤È¤Ê¤ë¡£

¼«Æ°¥ê¥Ô¡¼¥È¥­¡¼

¼«Æ°¥ê¥Ô¡¼¥È¥­¡¼¥¤¥Ù¥ó¥È(EV_AUTKEY) ¤Ï¡¢¼«Æ°¥ê¥Ô¡¼¥È¤ÎÂоݥ­¡¼¤¬²¡¤·Â³¤±¤é¤ì¤¿¾ì¹ç¤ËȯÀ¸¤¹¤ë¡£

¼«Æ°¥ê¥Ô¡¼¥È¤ÎÂоݥ­¡¼¤Ï¥¤¥Ù¥ó¥È¤òȯÀ¸¤·¤Ê¤¤¥á¥¿¥­¡¼¤ò½ü¤¤¤ÆÇ¤°Õ¤ËÀßÄê²Äǽ¤Ç¤¢ ¤ê¡¢¥·¥¹¥Æ¥àΩ¤Á¾å¤²»þ¤Ë¤Ï¡¢¥á¥¿¥­¡¼¤ò½ü¤¤¤¿¤¹¤Ù¤Æ¤Î¥­¡¼¤ò¼«Æ°¥ê¥Ô¡¼¥È¤ÎÂÐ¾Ý¤È ¤¹¤ë¡£

²¡¤·¤Æ¤«¤éºÇ½é¤ËȯÀ¸¤¹¤ë¤Þ¤Ç¤Î»þ´Ö(¥ª¥Õ¥»¥Ã¥È»þ´Ö)¤È¡¢¤½¤Î¸å¤ÎȯÀ¸´Ö³Ö(¥¤¥ó¥¿ ¡¼¥Ð¥ë»þ´Ö)¤ÎÀßÄê¡¿¼è½Ð¤·ÍѤΥ·¥¹¥Æ¥à¥³¡¼¥ë¤¬Ä󶡤µ¤ì¤Æ¤¤¤ë¡£ ¤³¤Î»þ´Ö¤Ï¥ß¥êÉà ñ°Ì¤Ç¤¢¤ë¡£

⤷¡¢¼«Æ°¥ê¥Ô¡¼¥È¥­¡¼¥¤¥Ù¥ó¥È¤ÎȯÀ¸´Ö³Ö¤Ï¥¤¥ó¥×¥ê¥á¥ó¥È¤Ë°Í¸¤·¤Æ¤ª¤ê¡¢¥ª¥Õ ¥»¥Ã¥È»þ´Ö¤È¥¤¥ó¥¿¡¼¥Ð¥ë»þ´Ö¤Ï¡¢¥¤¥Ù¥ó¥ÈȯÀ¸»þ¹ï¤Îñ°Ì¤Ø´Ý¤á¤é¤ì¤ë¡£

ʸ»ú¥³¡¼¥É

¥­¡¼¥¤¥Ù¥ó¥È¤Ç¤Ï¡¢¥­¡¼¤ÎʪÍýŪ°ÌÃÖ¤ò¼¨¤¹¥­¡¼¥È¥Ã¥×¥³¡¼¥É¤È¡¢¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿Ê¸»ú¥³¡¼¥É¤òÌ᤹¡£

¥­¡¼¥È¥Ã¥×¥³¡¼¥É¤Ï¡¢¥­¡¼¤ÎʪÍýŪ°ÌÃ֤˱þ¤¸¤¿¸ÇÄêŪ¤Ê8¥Ó¥Ã¥È¤Î¥³¡¼¥É ( 0 ¡Á255 ) ¤Ç¤¢¤ê¡¢¥á¥¿¥­¡¼¤Î¾õÂ֤ˤè¤ê°Û¤Ê¤Ã¤¿Ê¸»ú¥³¡¼¥É¤Ë¥¨¥ó¥³¡¼¥É¤µ¤ì¤ë¡£

ʸ»ú¥³¡¼¥É¤Ø¤Î¥¨¥ó¥³¡¼¥É¤Ï¡Öʸ»ú¥³¡¼¥ÉÊÑ´¹É½¡×¤ò»ÈÍѤ·¤Æ¹Ô¤Ê¤ï¤ì¤ë¡£Ä̾¥æ¡¼¥¶¡¼¤Î»ÈÍѤ¹¤ë¸À¸ì¡¢ÆþÎÏÊý¼°(¥í¡¼¥Þ»úÆþÎÏ¡¿¤«¤ÊÆþÎÏÅù)¤ËÂбþ¤·¤¿ÊÑ´¹É½¤¬¡¢¥æ¡¼¥¶¡¼Ëè¤ËÀßÄꤵ¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡£

ʸ»ú¥³¡¼¥ÉÊÑ´¹É½¤Ï°Ê²¼¤Î¹½Â¤¤ò»ý¤Ä¡£

typedef struct {
    W   keymax;         /* ¼ÂºÝ¤ÎºÇÂ祭¡¼¿ô (1¡Á256) */
    W   kctmax;         /* ¼ÂºÝ¤ÎÊÑ´¹É½¤Î¿ô (1¡Á64) */
    UH  kctsel[KCTSEL]; /* ÊÑ´¹É½¤ÎÈÖ¹æ (0¡Ákctmax-1¤ÎÃÍ) */
    UH  kct[KCTMAX];    /* ÊÑ´¹É½ËÜÂÎ (keymax¡ßkctmax¸Ä¤ÎÍ×ÁÇ) */
} KeyTab;

¥­¡¼¾õÂÖ

¥­¡¼¤¬²¡¤µ¤ì¤Æ¤¤¤ë¤«Èݤ«¤Î¾õÂ֤ϡ¢1¤Ä¤Î¥­¡¼¤ò1¥Ó¥Ã¥È¤ËÂбþ¤µ¤»¤¿°Ê²¼¤Ë¼¨¤¹ KeyMap ÇÛÎó¤Ë¤è¤êÄêµÁ¤µ¤ì¡¢¤³¤Î KeyMap ÇÛÎó¤ò¼è¤ê½Ð¤¹¤¿¤á¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬Äó ¶¡¤µ¤ì¤Æ¤¤¤ë¡£

typedef UB  KeyMap[KEYMAX/8];       -- ¥­¡¼¾õÂÖÇÛÎó

¥­¡¼¾õÂÖ (KeyMap)
¿Þ 13 : ¥­¡¼¾õÂÖ (KeyMap)
¤Ê¤ª¡¢¤³¤Î KeyMap ÇÛÎó¤Ï¡¢¼«Æ°¥ê¥Ô¡¼¥È¤ÎÂоݤȤʤ륭¡¼¤ÎÀßÄê / ¼è½Ð¤·¤Ë¤â»ÈÍѤµ¤ì¤ë¡£¤³¤Î¾ì¹ç¡¢"1 "¤Î¥Ó¥Ã¥È¤ËÂбþ¤¹¤ë¥­¡¼¤¬¼«Æ°¥ê¥Ô¡¼¥È¤ÎÂоݤȤʤ롣

¥­¡¼¥Ü¡¼¥ÉID

¸½ºßÀܳ¤µ¤ì¤Æ¤¤¤ë¥­¡¼¥Ü¡¼¥É¤Î¼ïÎà¤òÃΤ뤿¤á¤Ë°Ê²¼¤Ë¤è¤¦¤ËÄêµÁ¤µ¤ì¤ë¥­¡¼¥Ü¡¼¥ÉID¤ò¼è¤ê½Ð¤¹¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¡£

typedef struct {
    UH  kind;           /* ¥­¡¼¥Ü¡¼¥É¥¿¥¤¥× */
    UH  maker;          /* ¥á¡¼¥«¡¼ID */
    UB  id[4];          /* ¥á¡¼¥«¡¼°Í¸¥­¡¼¥Ü¡¼¥ÉID */
} KBD_ID;
kind¡§0000 000T TTTT TTMP
    P= 0          -- ¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤¬¥­¡¼¥Ü¡¼¥É¤ËÆâ¢¤µ¤ì¤Æ¤¤¤Ê¤¤
       1          -- ¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤¬¥­¡¼¥Ü¡¼¥É¤ËÆâ¢¤µ¤ì¤Æ¤¤¤ë
    M= 0          -- ¥í¥Ã¥¯¥­¡¼¤ÏÅŻҥí¥Ã¥¯¼°
       1          -- ¥í¥Ã¥¯¥­¡¼¤Ï¥á¥«¥Ë¥«¥ë¥í¥Ã¥¯Êý¼°
    T=0x00        -- ̤ÄêµÁ¥­¡¼¥Ü¡¼¥É
      0x01        -- TRONÆüËܸ쥭¡¼¥Ü¡¼¥É
      0x02¡Á0x3F  -- ͽÌó (TRON »ÅÍͤΥ­¡¼¥Ü¡¼¥É)
      0x40        -- IBM 101 ·Ï±Ñ¸ì¥­¡¼¥Ü¡¼¥É
      0x41        -- IBM 106 ·ÏÆüËܸ쥭¡¼¥Ü¡¼¥É
      0x42¡Á0x7f  -- ͽÌó (TRON »ÅÍͰʳ°¤Î¥­¡¼¥Ü¡¼¥É)
    
maker:
¥á¡¼¥«¡¼¤òɽ¤ï¤¹ID¤Ç¤¢¤ê¡¢get_ver() ¤ÇÆÀ¤é¤ì¤ë¥á¡¼¥«¡¼¤ÎÃÍ¤ÈÆ±¤¸¤â¤Î¤Ç¤¢¤ë¡£
id[4]:
¥á¡¼¥«¡¼¤Ë°Í¸¤·¤¿¥­¡¼¥Ü¡¼¥É¤Î¼ïÊ̤òɽ¤ï¤¹ID¤Ç4¥Ð¥¤¥È¤«¤é¹½À®¤µ¤ì¤ë¡£

1.7.4 ¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹

¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹

¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Ï¡¢¥¹¥¯¥ê¡¼¥ó¾å¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¡¢¤½¤Î¸½ºß°ÌÃ֤Ȥ·¤Æ¡¢¥¹¥¯¥ê¡¼¥ó¤Î²òÁüÅÙ¤ËÂбþ¤·¤¿¥ì¥ó¥¸¤ÎÀäÂкÂɸÃͤò»ý¤Ä¡£ ÀäÂкÂɸÃͤȤϡ¢¥¹¥¯¥ê¡¼¥ó¤Îº¸¾å¤ÎÅÀ¤ò ( 0, 0 )¤È¤·¡¢¥¹¥¯¥ê¡¼¥ó¾å¤Î 1 ¥Ô¥¯¥»¥ë¤òñ°Ì¤È¤·¤¿ºÂɸÃͤǤ¢¤ë¡£

¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Îưºî¥¿¥¤¥×

¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Ï¡¢¤½¤ÎưºîÊý¼°¤«¤é°Ê²¼¤Î 2 ¼ïÎà¤ËÂ礭¤¯Ê¬Îव¤ì¤ë¡£

ÀäÂÐÆ°ºî¥¿¥¤¥×¡§
ÅŻҥڥóÅù¤Î¥¿¥Ö¥ì¥Ã¥È¥¿¥¤¥×¤Î¤â¤Î¤Ç¡¢¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Î ʪÍýŪ¤Ê°ÌÃ֤ˤè¤ê¡¢ÀäÂÐŪ¤ËºÂɸÃͤ¬·èÄꤵ¤ì¤ë¤â¤Î¡£
ÁêÂÐÆ°ºî¥¿¥¤¥×(º¹Æ°¥¿¥¤¥×)¡§
¥Þ¥¦¥¹Åù¤Ç¡¢¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤ÎʪÍýŪ¤Ê°ÌÃÖ¤Î°ÜÆ°¤Ë¤è¤ê¡¢ ÁêÂÐŪ¤ËºÂɸÃͤ¬·èÄꤵ¤ì¤ë¤â¤Î¡£

ÁêÂÐÆ°ºî¥¿¥¤¥×¤Î¾ì¹ç¤Ï¡¢¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Î(´ð½à)°ÌÃÖ¤òǤ°Õ¤ËÀßÄꤹ¤ë¤³ ¤È¤¬²Äǽ¤Ç¤¢¤ë¤¬¡¢ÀäÂÐÆ°ºî¥¿¥¤¥×¤Î¾ì¹ç¤Ï¡¢°ÌÃÖ¤ÎÀßÄê¤ÏÉԲĤȤʤ롣

¤Ê¤ª¡¢¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Ë¤è¤Ã¤Æ¤Ï¡¢ÀäÂС¿ÁêÂÐÆ°ºî¤ÎξÊý¤Îưºî¤òÀڤ괹¤¨¤ë ¤³¤È¤¬²Äǽ¤Ê¤â¤Î¤â¤¢¤ë¡£

¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Î°À­

¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Î°À­¤È¤·¤Æ°Ê²¼¤Î¤â¤Î¤¬ÄêµÁ¤µ¤ì¡¢¼è¤ê½Ð¤·/ÀßÄ꤬²Äǽ¤Ç¤¢¤ë¡£

´¶ÅÙ:
ÁêÂÐÆ°ºî¥¿¥¤¥×¤Î¾ì¹ç¤Î¤ßÄêµÁ¤µ¤ì¡¢¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Î°Üư Î̤ȡ¢ºÂɸÃÍ¤Î°ÜÆ°Î̤ÈÈæÎ¨¤òɽ¤ï¤¹¤â¤Î¤Ç¡¢´¶ÅÙ¤¬¹â¤¤Äø¡¢¥Ý¥¤¥ó ¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Î°ÜưÎ̤ËÂФ¹¤ë¡¢ºÂɸÃÍ¤Î°ÜÆ°Î̤¬Â礭¤¯¤Ê¤ë¡£
ºÇÄã´¶ÅÙ(0)¡ÁºÇ¹â´¶ÅÙ(15) ¤Î16Ãʳ¬¤ÇÄêµÁ¤µ¤ì¤ë¡£
¥¹¥­¥ã¥ó®ÅÙ
¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Î°ÌÃÖ¤ò¼è¤ê½Ð¤¹¤³¤È¤¬²Äǽ¤Ê»þ´Ö´Ö³Ö¤ò¼¨ ¤¹¤â¤Î¤Ç¤¢¤ê¡¢¥¹¥­¥ã¥ó®ÅÙ¤¬¹â®¤ÊÄø¡¢»þ´Ö´Ö³Ö¤¬¶¹¤Þ¤ë¤³¤È¤Ë¤Ê¤ë¡£
ºÇÄã®(0)¡ÁºÇ¹â®(15) ¤Î16Ãʳ¬¤ÇÄêµÁ¤µ¤ì¤ë¡£

1.7.5 ¥Ç¡¼¥¿/Äê¿ô¤ÎÄêµÁ

¢¢ ¥¤¥Ù¥ó¥È¸ÇÍ­¥Ç¡¼¥¿

typedef union {
    struct {            /* EV_KEYUP,EV_KEYDWN,EV_AUTKEY */
        UH  keytop;     /* ¥­¡¼¥È¥Ã¥×¥³¡¼¥É */
        TC  code;       /* ʸ»ú¥³¡¼¥É */
    } key;
    struct {            /* EV_DEVICE */
        H   kind;       /* ¥Ç¥Ð¥¤¥¹¥¤¥Ù¥ó¥È¼ïÊÌ */
        H   devno;      /* ¥Ç¥Ð¥¤¥¹ÈÖ¹æ */
    } dev;
    W   info;           /* ¤½¤Î¾¤Î¥¤¥Ù¥ó¥ÈÍѥǡ¼¥¿ */
} EVDATA;

¢¢ ¥¤¥Ù¥ó¥È

typedef struct {
    W       type;           /* ¥¤¥Ù¥ó¥È¥¿¥¤¥× */
    UW      time;           /* ¥¤¥Ù¥ó¥ÈȯÀ¸»þ´Ö(m sec) */
    PNT     pos;            /* ¥¤¥Ù¥ó¥ÈȯÀ¸»þ¤ÎPD°ÌÃÖ */
    EVDATA  data;           /* ¥¤¥Ù¥ó¥È¤Î¸ÇÍ­¥Ç¡¼¥¿ */
    UW      stat;           /* ¥á¥¿¥­¡¼¡¢PD¥Ü¥¿¥ó¾õÂÖ */
} EVENT;

¢¢ ¥¤¥Ù¥ó¥È¥¿¥¤¥×

#define EV_NULL     0       /* ¥Ì¥ë¥¤¥Ù¥ó¥È */
#define EV_BUTDWN   1       /* ¥Ü¥¿¥ó¥À¥¦¥ó */
#define EV_BUTUP    2       /* ¥Ü¥¿¥ó¥¢¥Ã¥× */
#define EV_KEYDWN   3       /* ¥­¡¼¥À¥¦¥ó */
#define EV_KEYUP    4       /* ¥­¡¼¥¢¥Ã¥× */
#define EV_AUTKEY   5       /* ¼«Æ°¥­¡¼¥ê¥Ô¡¼¥È */
#define EV_DEVICE   6       /* ¥Ç¥Ð¥¤¥¹¥¤¥Ù¥ó¥È */
#define EV_RSV      7       /* ͽÌó */
#define EV_APPL1    8       /* ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥Ù¥ó¥È#1 */
#define EV_APPL2    9       /* ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥Ù¥ó¥È#2 */
#define EV_APPL3    10      /* ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥Ù¥ó¥È#3 */
#define EV_APPL4    11      /* ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥Ù¥ó¥È#4 */
#define EV_APPL5    12      /* ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥Ù¥ó¥È#5 */
#define EV_APPL6    13      /* ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥Ù¥ó¥È#6 */
#define EV_APPL7    14      /* ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥Ù¥ó¥È#7 */
#define EV_APPL8    15      /* ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥Ù¥ó¥È#8 */

¢¢ ¥¤¥Ù¥ó¥È¥Þ¥¹¥¯

#define EM_NULL     0x0000
#define EM_ALL      0x7fff
#define EM_BUTDWN   0x0001
#define EM_BUTUP    0x0002
#define EM_KEYDWN   0x0004
#define EM_KEYUP    0x0008
#define EM_AUTKEY   0x0010
#define EM_DEVICE   0x0020
#define EM_RSV      0x0040
#define EM_APPL1    0x0080
#define EM_APPL2    0x0100
#define EM_APPL3    0x0200
#define EM_APPL4    0x0400
#define EM_APPL5    0x0800
#define EM_APPL6    0x1000
#define EM_APPL7    0x2000
#define EM_APPL8    0x4000

¢¢ ¥á¥¿¥­¡¼¡¢PD¥Ü¥¿¥ó¾õÂÖ(0: OFF¡¢1:ON)

#define ES_BUT      0x00000001  /* PD¥á¥¤¥ó¥Ü¥¿¥ó */
#define ES_BUT2     0x00000002  /* PD¥µ¥Ö¥Ü¥¿¥ó */
#define ES_ALPH     0x00000004  /* ±Ñ¸ì¥í¥Ã¥¯¥­¡¼ */
#define ES_KANA     0x00000008  /* ¥«¥¿¥«¥Ê¥í¥Ã¥¯¥­¡¼ */
#define ES_LSHFT    0x00000010  /* º¸¥·¥Õ¥È¥­¡¼ */
#define ES_RSHFT    0x00000020  /* ±¦¥·¥Õ¥È¥­¡¼ */
#define ES_EXT      0x00000040  /* ³ÈÄ¥¥­¡¼ */
#define ES_CMD      0x00000080  /* Ì¿Îᥭ¡¼ */
#define ES_LLSHFT   0x00000100  /* º¸¥·¥Õ¥È´Ê°×¥í¥Ã¥¯ */
#define ES_LRSHFT   0x00000200  /* ±¦¥·¥Õ¥È´Ê°×¥í¥Ã¥¯ */
#define ES_LEXT     0x00000400  /* ³ÈÄ¥´Ê°×¥í¥Ã¥¯ */
#define ES_LCMD     0x00000800  /* Ì¿Îá´Ê°×¥í¥Ã¥¯ */
#define ES_TLSHFT   0x00001000  /* º¸¥·¥Õ¥È°ì»þ¥·¥Õ¥È */
#define ES_TRSHFT   0x00002000  /* ±¦¥·¥Õ¥È°ì»þ¥·¥Õ¥È */
#define ES_TEXT     0x00004000  /* ³ÈÄ¥°ì»þ¥·¥Õ¥È */
#define ES_TCMD     0x00008000  /* Ì¿Îá°ì»þ¥·¥Õ¥È */
#define ES_HAN      0x00010000  /* Ⱦ³Ñ¥­¡¼ */
#define ES_NODSP    0x00400000  /* ¥Ý¥¤¥ó¥¿Èóɽ¼¨ */
#define ES_PDSIM    0x00800000  /* PD¥·¥å¥ß¥ì¡¼¥·¥ç¥ó */

¢¢ ÆþÎϥ⡼¥É

#define IM_HIRA     0x0000          /* ÆüËܸì¤Ò¤é¤¬¤Ê */
#define IM_ALPH     (ES_ALPH)       /* ±Ñ¸ì(¾®Ê¸»ú) */
#define IM_KATA     (ES_KANA)       /* ÆüËܸ쥫¥¿¥«¥Ê */
#define IM_CAPS     (ES_ALPH | ES_KANA) /* ±Ñ¸ì(Âçʸ»ú) */
#define IM_MASK     (ES_ALPH | ES_KANA)
#define KIN_KANA    0x0000          /* ¤«¤ÊÆþÎϥ⡼¥É */
#define KIN_ROMAN   0x0001          /* ¥í¡¼¥Þ»úÆþÎϥ⡼¥É */

¢¢ ¥Ç¥Ð¥¤¥¹¥¤¥Ù¥ó¥È(EV_DEVICE)¤Î¼ïÊÌ(EVDATA.dev.kind)

typedef enum {
    DE_unknown      = 0,        /* ̤ÄêµÁ */
    DE_MOUNT        = 0x01,     /* ¥á¥Ç¥£¥¢ÁÞÆþ */
    DE_EJECT        = 0x02,     /* ¥á¥Ç¥£¥¢ÇӽР*/
    DE_ILLMOUNT     = 0x03,     /* ¥á¥Ç¥£¥¢ÉÔÀµÁÞÆþ */
    DE_ILLEJECT     = 0x04,     /* ¥á¥Ç¥£¥¢ÉÔÀµÇӽР*/
    DE_REMOUNT      = 0x05,     /* ¥á¥Ç¥£¥¢ºÆÁÞÆþ */
    DE_CARDBATLOW   = 0x06,     /* ¥«¡¼¥É¥Ð¥Ã¥Æ¥ê»ÄÎÌ·Ù¹ð */
    DE_CARDBATFAIL  = 0x07,     /* ¥«¡¼¥É¥Ð¥Ã¥Æ¥ê°Û¾ï */
    DE_REQEJECT     = 0x08      /* ¥á¥Ç¥£¥¢ÇÓ½ÐÍ×µá */
} DevEvtKind;

¢¢ put_evt()

#define EP_NONE     0x0000      /* time,pos,stat ¤Ï¤½¤Î¤Þ¤Þ */
#define EP_POS      0x0001      /* pos ¤Ë¸½ºßPD°ÌÃÖ¤òÀßÄê */
#define EP_STAT     0x0002      /* stat ¤Ë¸½ºß¥á¥¿¥­¡¼¾õÂÖ¤òÀßÄê */
#define EP_TIME     0x0004      /* time ¤Ë¸½ºß»þ´Ö¤òÀßÄê */
#define EP_ALL      0x0007      /* pos,stat,time ¤Ë¸½ºßÃͤòÀßÄê */

¢¢ chg_pda()

#define PD_REV      0x1000      /* º¸±¦È¿Å¾ */
#define PD_ABS      0x0100      /* ÀäÂкÂɸ¥¿¥¤¥× */
#define PD_REL      0x0000      /* ÁêÂкÂɸ¥¿¥¤¥× */
#define PD_SCMSK    0x00f0      /* ¥¹¥­¥ã¥ó®ÅÙ (¥Þ¥¹¥¯) */
#define PD_SNMSK    0x000f      /* ´¶ÅÙ (¥Þ¥¹¥¯) */

¢¢ ¥­¡¼¥Ü¡¼¥É

typedef struct {
    UH  kind;           /* ¥­¡¼¥Ü¡¼¥É¥¿¥¤¥× */
    UH  maker;          /* ¥á¡¼¥«¡¼ID */
    UB  id[4];          /* ¥á¡¼¥«¡¼°Í¸¥­¡¼¥Ü¡¼¥ÉID */
} KBD_ID;

¢¢ ¥­¡¼¥Þ¥Ã¥×

#define KEYMAX      256
typedef UB  KeyMap[KEYMAX/8];

¢¢ ¥­¡¼¥Æ¡¼¥Ö¥ë

#define KCTSEL      64
#define KCTMAX      4000
typedef struct {
    W   keymax;             /* ¼ÂºÝ¤ÎºÇÂ祭¡¼¿ô */
    W   kctmax;             /* ¼ÂºÝ¤ÎÊÑ´¹É½¤Î¿ô */
    UH  kctsel[KCTSEL];     /* ÊÑ´¹É½¤ÎÈÖ¹æ */
    UH  kct[KCTMAX];        /* ÊÑ´¹É½ËÜÂÎ */
} KeyTab;

¢¢ ctl_buz()

                    /* ¡ã¼è¤ê½Ð¤·¡ä */
#define GET_BUZ_BEEP    0x0000      /* ²»¿§¡§É¸½à¤Î·Ù¹ð²» */
#define GET_BUZ_PDON    0x0001      /* ²»¿§¡§¥Ü¥¿¥óON¤Î¥¯¥ê¥Ã¥¯²» */
#define GET_BUZ_PDOFF   0x0002      /* ²»¿§¡§¥Ü¥¿¥óOFF¤Î¥¯¥ê¥Ã¥¯²» */
#define GET_BUZ_KEYON   0x0003      /* ²»¿§¡§¥­¡¼ON¤Î¥¯¥ê¥Ã¥¯²» */
#define GET_BUZ_KEYOFF  0x0004      /* ²»¿§¡§¥­¡¼OFF¤Î¥¯¥ê¥Ã¥¯²» */
#define GET_BUZ_VOLUME  0x0010      /* ²»ÎÌ */
                    /* ¡ãÀßÄê¡ä */
#define SET_BUZ_BEEP    0x0100      /* ²»¿§¡§É¸½à¤Î·Ù¹ð²» */
#define SET_BUZ_PDON    0x0101      /* ²»¿§¡§¥Ü¥¿¥óON¤Î¥¯¥ê¥Ã¥¯²» */
#define SET_BUZ_PDOFF   0x0102      /* ²»¿§¡§¥Ü¥¿¥óOFF¤Î¥¯¥ê¥Ã¥¯²» */
#define SET_BUZ_KEYON   0x0103      /* ²»¿§¡§¥­¡¼ON¤Î¥¯¥ê¥Ã¥¯²» */
#define SET_BUZ_KEYOFF  0x0104      /* ²»¿§¡§¥­¡¼OFF¤Î¥¯¥ê¥Ã¥¯²» */
#define SET_BUZ_VOLUME  0x0110      /* ²»ÎÌ */

1.7.6 ¥·¥¹¥Æ¥à¥³¡¼¥ë

get_evt
Ê
¥¤¥Ù¥ó¥È¤Î¼èÆÀ

¡Ú·Á¼°¡Û

WERR    get_evt(W t_mask, EVENT* evt, W opt)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W       t_mask  Âоݥ¤¥Ù¥ó¥È¥¿¥¤¥×¥Þ¥¹¥¯

EVENT*  evt     ¼èÆÀ¤·¤¿¥¤¥Ù¥ó¥È¤Î³ÊǼÎΰè

W       opt     ¼èÆÀ°À­
                ( CLR ¡Â NOCLR )
                CLR    ¥¤¥Ù¥ó¥È¥­¥å¡¼¤«¤é¼è¤ê½ü¤¯¡£
                NOCLR  ¥¤¥Ù¥ó¥È¥­¥å¡¼¤«¤é¼è¤ê½ü¤«¤Ê¤¤¡£

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡æ0    Àµ¾ï(ÆÀ¤é¤ì¤¿¥¤¥Ù¥ó¥È¤Î¥¿¥¤¥×)
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

»ØÄꤷ¤¿¥¿¥¤¥×¤Î¥¤¥Ù¥ó¥È¤ò¥¤¥Ù¥ó¥È¥­¥å¡¼¤«¤é¼è¤ê½Ð¤¹¡£
»ØÄꤷ¤¿¥¿¥¤¥×¤Î¥¤¥Ù¥ó¥È¤¬È¯À¸¤·¤Æ¤¤¤Ê¤¤¤È¤­¤Ï¡¢EV_NULL ¤¬¼è¤ê½Ð¤µ¤ì¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ADR      : ¥¢¥É¥ì¥¹(evt)¤Î¥¢¥¯¥»¥¹¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_IO       : Æþ½ÐÎÏ¥¨¥é¡¼¤¬È¯À¸¤·¤¿(²¿¤é¤«¤Î¥Ç¥Ð¥¤¥¹¥¨¥é¡¼¤¬È¯À¸¤·¤¿)¡£
ER_PAR      : ¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¢¤ë(t_mask¡å0¡¢opt¤¬ÉÔÀµ)¡£
ER_NOSPC    : ¥·¥¹¥Æ¥à¤Î¥á¥â¥êÎΰ褬ÉÔ­¤·¤¿¡£

put_evt
Ê
¥¤¥Ù¥ó¥È¤ÎȯÀ¸

¡Ú·Á¼°¡Û

ERR put_evt(EVENT* evt, W opt)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

EVENT*  evt   ȯÀ¸¤¹¤ë¥¤¥Ù¥ó¥È

W       opt   ȯÀ¸Â°À­
        ( EP_NONE ¡Â EP_ALL ¡Â ([ EP_POS ] | [ EP_STAT ] | [EP_TIME]) )
        EP_NONE   time, pos, stat ¤Ï evt ¤ÎÆâÍÆ¤Î¤Þ¤Þ¤È¤¹¤ë¡£
        EP_ALL    time, pos, stat ¤Î¤¹¤Ù¤Æ¤òÀßÄꤹ¤ë¡£
        EP_POS    pos ¤Ë¸½ºß¤Î¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Î°ÌÃÖ¤òÀßÄꤹ¤ë¡£
        EP_STAT   stat ¤Ë¸½ºß¤Î¥á¥¿¥­¡¼/ PD ¥Ü¥¿¥ó¾õÂÖ¤òÀßÄꤹ¤ë¡£
        EP_TIME   time ¤Ë¸½ºß¤Î¥¤¥Ù¥ó¥È¥¿¥¤¥Þ¡¼¤ÎÃͤòÀßÄꤹ¤ë¡£

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

»ØÄꤷ¤¿¥¤¥Ù¥ó¥È¤òȯÀ¸¤µ¤»¤Æ¥¤¥Ù¥ó¥È¥­¥å¡¼¤ËÆþ¤ì¤ë¡£
¥¤¥Ù¥ó¥È¥­¥å¡¼¤Ë¶õ¤­¤¬¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï¡¢EV_NULL ¤ª¤è¤Ó EV_AUTKEY ¤Î»ØÄꤷ¤¿¤È¤­¤Ï¥¨¥é¡¼¤È¤Ê¤ë¡£
¥·¥¹¥Æ¥à¥¤¥Ù¥ó¥È¥Þ¥¹¥¯¤ÇÂоݳ°¤Î¥¤¥Ù¥ó¥È¤Ï¼ÂºÝ¤Ë¤ÏȯÀ¸¤»¤ºÌµ»ë¤µ¤ì¤ë¡£
ȯÀ¸¤·¤¿¥¤¥Ù¥ó¥È¤Ï time ¤ÎÃͤˤ«¤«¤ï¤é¤º¡¢ËÜ¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò¼Â¹Ô¤·¤¿¤È¤­¤ËȯÀ¸¤·¤¿¤â¤Î¤È¤ß¤Ê¤µ¤ì¡¢¾ï¤Ë¥¤¥Ù¥ó¥È¥­¥å¡¼¤ÎºÇ¸å¤ËÆþ¤ì¤é¤ì¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ADR      : ¥¢¥É¥ì¥¹(evt)¤Î¥¢¥¯¥»¥¹¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_IO       : Æþ½ÐÎÏ¥¨¥é¡¼¤¬È¯À¸¤·¤¿(²¿¤é¤«¤Î¥Ç¥Ð¥¤¥¹¥¨¥é¡¼¤¬È¯À¸¤·¤¿)¡£
ER_NOSPC    : ¥·¥¹¥Æ¥à¤Î¥á¥â¥êÎΰ褬ÉÔ­¤·¤¿¡£
ER_PAR      : ¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¢¤ë(¥¤¥Ù¥ó¥È¤Î¥¿¥¤¥×¤¬ÉÔÀµ¡¢opt¤¬ÉÔÀµ)¡£

clr_evt
Ê
¥¤¥Ù¥ó¥È¤Î¥¯¥ê¥¢

¡Ú·Á¼°¡Û

ERR clr_evt(W t_mask, W last_mask)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W   t_mask      ¥¯¥ê¥¢Âоݥ¤¥Ù¥ó¥È¥¿¥¤¥×¥Þ¥¹¥¯
                ¡áEM_ALL    Á´¥¤¥Ù¥ó¥È¥¿¥¤¥×

W   last_mask   ¥¯¥ê¥¢½ªÎ»¥¤¥Ù¥ó¥È¥¿¥¤¥×¥Þ¥¹¥¯
                ¡áEM_ALL    ¥¤¥Ù¥ó¥È¤ò1¤Ä¤À¤±¥¯¥ê¥¢
                ¡áEM_ALL    Âоݤϥ¤¥Ù¥ó¥È¥­¥å¡¼¤ÎºÇ¸å¤Þ¤Ç

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

ȯÀ¸ºÑ¤ß¤Î¥¤¥Ù¥ó¥È¤ò¥¯¥ê¥¢¤¹¤ë¡£
¥¤¥Ù¥ó¥È¥­¥å¡¼¤ËÆþ¤Ã¤Æ¤¤¤ë¥¤¥Ù¥ó¥È¤Î¤¦¤Á¡¢t_mask ¤Ç»ØÄꤷ¤¿¥¿¥¤¥×¤Î¥¤¥Ù¥ó¥È¤ò last_mask ¤Ç»ØÄꤷ¤¿¥¿¥¤¥×¤Î¥¤¥Ù¥ó¥È¤ÎľÁ°¤Þ¤Ç¥¯¥ê¥¢¤¹¤ë¡£last_mask ¤Ç»ØÄꤷ¤¿¥¿¥¤¥×¤Î¥¤¥Ù¥ó¥È¤Ï¥¯¥ê¥¢¤µ¤ì¤Ê¤¤¤¬¡¢last_mask = EM_ALL ¤Î¤È¤­¤Ï¡¢ÆÃÊ̤˥¤¥Ù¥ó¥È¤ò1¤Ä¤À¤±¥¯¥ê¥¢¤¹¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
t_mask ¤È last_mask ¤Î»ØÄêÎã¤ò°Ê²¼¤Ë¼¨¤¹¡£

    t_mask      last_mask   ưºî
    EM_ALL      EM_NULL     Á´¤Æ¤Î¥¤¥Ù¥ó¥È¤ò¥¯¥ê¥¢
      --        EM_ALL      t_mask ¤Ç»ØÄꤷ¤¿¥¤¥Ù¥ó¥È¤ò1¤Ä¤À¤±¥¯¥ê¥¢
    EM_ALL      EM_ALL      ÀèÆ¬¤Î¥¤¥Ù¥ó¥È¤ò1¤Ä¤À¤±¥¯¥ê¥¢

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_PAR      : ¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¢¤ë(t_mask¡å0¡¢last_mask<0)¡£

get_pdp
Ê
PD°ÌÃ֤μèÆÀ

¡Ú·Á¼°¡Û

WERR    get_pdp(PNT* pos)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

PNT*    pos PD°ÌÃ֤γÊǼÎΰè

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡æ0    Àµ¾ï(ȯÀ¸¤·¤Æ¤¤¤ë¥¤¥Ù¥ó¥È¤Î¥¿¥¤¥×)
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

¸½ºß¤Î¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Î°ÌÃÖ¤òÀäÂкÂɸÃͤǼè¤ê½Ð¤¹¡£
Ʊ»þ¤ËȯÀ¸¤·¤Æ¤¤¤ë¥¤¥Ù¥ó¥È¤Î¥¿¥¤¥×¤òÌ᤹¡£²¿¤Î¥¤¥Ù¥ó¥È¤âȯÀ¸¤·¤Æ¤¤¤Ê¤¤¤È¤­¤Ï EV_NULL ¤òÌ᤹¡£
¥¤¥Ù¥ó¥È¥­¥å¡¼¤ÎÆâÍÆ¤Ï°ìÀÚÊѲ½¤·¤Ê¤¤¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ADR      : ¥¢¥É¥ì¥¹(pos)¤Î¥¢¥¯¥»¥¹¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_BUSY     : PD¤Ï¥Ó¥¸¡¼¾õÂ֤Ǥ¢¤ë¡£
ER_DEV      : ¥Ç¥Ð¥¤¥¹¤ËÂФ·¤Æ¤ÎÁàºî¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_ERDEV    : ÁõÃְ۾郎ȯÀ¸¤·¤¿¡£
ER_IO       : Æþ½ÐÎÏ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
ER_NODEV    : ¥Ç¥Ð¥¤¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤¬¤Ç¤­¤Ê¤¤¡£
ER_NOSPC    : ¥·¥¹¥Æ¥à¤Î¥á¥â¥êÎΰ褬ÉÔ­¤·¤¿¡£

set_pdp
Ê
PD°ÌÃÖ¤ÎÀßÄê

¡Ú·Á¼°¡Û

WERR    set_pdp(PNT pos)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

PNT pos ÀßÄꤹ¤ëPD°ÌÃÖ(ÀäÂкÂɸ)

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï(PD°ÌÃÖÀßÄê²Ä)
¡á1    Àµ¾ï(PD°ÌÃÖÀßÄêÉÔ²Ä)
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

»ØÄꤷ¤¿ÀäÂкÂɸ°ÌÃÖ¤ò¸½ºß¤Î¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Î°ÌÃ֤Ȥ·¤ÆÀßÄꤹ¤ë¡£
»ØÄꤹ¤ë°ÌÃ֤ϥݥ¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤ÎºÂɸ¥ì¥ó¥¸¤ÎÈÏ°ÏÆâ¤Ç¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
°ÌÃÖ¤ÎÀßÄ꤬¤Ç¤­¤¿¤È¤­¤Ï´Ø¿ôÃÍ "0" ¤òÌᤷ¡¢¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Îưºî¤¬ÀäÂÐÆ°ºî¥¿¥¤¥×¤Î¤¿¤á°ÌÃÖ¤ÎÀßÄ꤬¤Ç¤­¤Ê¤«¤Ã¤¿¤È¤­¤Ï´Ø¿ôÃÍ "1" ¤òÌ᤹¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_BUSY     : PD¤Ï¥Ó¥¸¡¼¾õÂ֤Ǥ¢¤ë¡£
ER_DEV      : ¥Ç¥Ð¥¤¥¹¤ËÂФ·¤Æ¤ÎÁàºî¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_ERDEV    : ÁõÃְ۾郎ȯÀ¸¤·¤¿¡£
ER_IO       : Æþ½ÐÎÏ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
ER_NODEV    : ¥Ç¥Ð¥¤¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤¬¤Ç¤­¤Ê¤¤¡£
ER_PAR      : ¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¢¤ë(pos ¤¬ºÂɸ¥ì¥ó¥¸³°)¡£
ER_NOSPC    : ¥·¥¹¥Æ¥à¤Î¥á¥â¥êÎΰ褬ÉÔ­¤·¤¿¡£

get_etm
Ê
¥¤¥Ù¥ó¥È¥¿¥¤¥Þ¡¼ÃͤμèÆÀ

¡Ú·Á¼°¡Û

ERR get_etm(UW* time)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

UW  *time   ¥¤¥Ù¥ó¥È¥¿¥¤¥Þ¡¼ÃͤγÊǼÎΰè

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

¥¤¥Ù¥ó¥È¥¿¥¤¥Þ¡¼¤Î¸½ºß¤ÎÃͤò¼è¤ê½Ð¤¹¡£
¥¤¥Ù¥ó¥È¥¿¥¤¥Þ¡¼¤Ï¥ß¥êÉÃñ°Ì¤ÎÁêÂÐŪ¤Ê»þ´Ö¤Ç¤¢¤ë¤¬¡¢¼ÂºÝ¤Îʬ²òǽ¤Ï¥¤¥ó¥×¥ê¥á¥ó¥È¤Ë°Í¸¤¹¤ë¡£
ËÜ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï°ìÈÌŪ¤Ë¥ß¥êÉÃñ°Ì¤ÎÁêÂлþ´Ö¤ò¼è¤ê½Ð¤¹¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ADR      : ¥¢¥É¥ì¥¹(time)¤Î¥¢¥¯¥»¥¹¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£

get_kmp
Ê
¥­¡¼¾õÂ֤μèÆÀ

¡Ú·Á¼°¡Û

ERR get_kmp(KeyMap keymap)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

KeyMap  keymap  ¥­¡¼¾õÂ֤γÊǼÎΰè

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

¸½ºß¤Î¥­¡¼¾õÂÖ¤ò¼è¤ê½Ð¤¹¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ADR      : ¥¢¥É¥ì¥¹(keymap)¤Î¥¢¥¯¥»¥¹¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_BUSY     : ¥­¡¼¥Ü¡¼¥É¤Ï¥Ó¥¸¡¼¾õÂ֤Ǥ¢¤ë¡£
ER_DEV      : ¥Ç¥Ð¥¤¥¹¤ËÂФ·¤Æ¤ÎÁàºî¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_ERDEV    : ÁõÃְ۾郎ȯÀ¸¤·¤¿¡£
ER_IO       : Æþ½ÐÎÏ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
ER_NODEV    : ¥Ç¥Ð¥¤¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤¬¤Ç¤­¤Ê¤¤¡£
ER_NOSPC    : ¥·¥¹¥Æ¥à¤Î¥á¥â¥êÎΰ褬ÉÔ­¤·¤¿¡£

chg_emk
Ê
¥·¥¹¥Æ¥à¥¤¥Ù¥ó¥È¥Þ¥¹¥¯¤ÎÊѹ¹

¡Ú·Á¼°¡Û

WERR    chg_emk(W mask)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W   mask    ÀßÄꤹ¤ë¥·¥¹¥Æ¥à¥¤¥Ù¥ó¥È¥Þ¥¹¥¯
            <0    Êѹ¹¤·¤Ê¤¤(¸½ºß¤Î¥·¥¹¥Æ¥à¥¤¥Ù¥ó¥È¥Þ¥¹¥¯¤Î¼èÆÀ)

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡æ0    Àµ¾ï(Êѹ¹Á°¤Î¥·¥¹¥Æ¥à¥¤¥Ù¥ó¥È¥Þ¥¹¥¯)

¡Ú²òÀâ¡Û

¥·¥¹¥Æ¥à¥¤¥Ù¥ó¥È¥Þ¥¹¥¯¤ò»ØÄꤷ¤¿ÃͤËÊѹ¹¤·¡¢Êѹ¹Á°¤Î¥·¥¹¥Æ¥à¥¤¥Ù¥ó¥È¥Þ¥¹¥¯¤ÎÃͤò´Ø¿ôÃͤȤ·¤ÆÌ᤹¡£
mask <0 ¤Î¤È¤­¤ÏÊѹ¹¤»¤º¤Ë¸½ºß¤Î¥·¥¹¥Æ¥à¥¤¥Ù¥ó¥È¥Þ¥¹¥¯¤ÎÃͤò´Ø¿ôÃͤȤ·¤ÆÌ᤹¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ȯÀ¸¤·¤Ê¤¤¡£

set_krp
Ê
¼«Æ°¥ê¥Ô¡¼¥È´Ö³Ö¤ÎÀßÄê

¡Ú·Á¼°¡Û

ERR set_krp(W offset, W interval)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W   offset      ¼«Æ°¥ê¥Ô¡¼¥ÈºÇ½é¤ÎȯÀ¸¤Þ¤Ç¤Î»þ´Ö(¥ß¥êÉÃ)

W   interval    ¼«Æ°¥ê¥Ô¡¼¥ÈȯÀ¸´Ö³Ö(¥ß¥êÉÃ)

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

¼«Æ°¥ê¥Ô¡¼¥È¥­¡¼¥¤¥Ù¥ó¥È(EV_AUTKEY)¤ÎȯÀ¸¤Þ¤Ç¤Î»þ´Ö¡¢¤ª¤è¤Ó´Ö³Ö¤òÀßÄꤹ¤ë¡£
ÀßÄꤹ¤ë»þ´Ö¤Ï¥ß¥êÉÃñ°Ì¤Ç¤¢¤ë¤¬¡¢¼ÂºÝ¤Îʬ²òǽ¤Ï¥¤¥ó¥×¥ê¥á¥ó¥È¤Ë°Í¸¤¹¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_PAR      : ¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¢¤ë(offset¡å0,interval¡å0)¡£

get_krp
Ê
¼«Æ°¥ê¥Ô¡¼¥È´Ö³Ö¤Î¼èÆÀ

¡Ú·Á¼°¡Û

ERR get_krp(W* offset, W* interval)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W   *offset     ¼«Æ°¥ê¥Ô¡¼¥ÈºÇ½é¤ÎȯÀ¸¤Þ¤Ç¤Î»þ´Ö(¥ß¥êÉÃ)¤Î³ÊǼÎΰè

W   *interval   ¼«Æ°¥ê¥Ô¡¼¥ÈȯÀ¸´Ö³Ö(¥ß¥êÉÃ)¤Î³ÊǼÎΰè

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

¼«Æ°¥ê¥Ô¡¼¥È¥­¡¼¥¤¥Ù¥ó¥È(EV_AUTKEY)¤ÎȯÀ¸¤Þ¤Ç¤Î»þ´Ö¡¢¤ª¤è¤Ó´Ö³Ö¤ò¼è¤ê½Ð¤¹¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ADR      : ¥¢¥É¥ì¥¹(offset,interval)¤Î¥¢¥¯¥»¥¹¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£

set_krm
Ê
¼«Æ°¥ê¥Ô¡¼¥ÈÂоݥ­¡¼¤ÎÀßÄê

¡Ú·Á¼°¡Û

ERR set_krm(KeyMap keymap)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

KeyMap  keymap  ¼«Æ°¥ê¥Ô¡¼¥ÈÂоݥ­¡¼¥Þ¥Ã¥×

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

¼«Æ°¥ê¥Ô¡¼¥È¤ÎÂоݤȤʤ륭¡¼¤òÀßÄꤹ¤ë¡£
»ØÄꤷ¤¿¥­¡¼¥Þ¥Ã¥×¤Î "1" ¤Î¥Ó¥Ã¥È¤ËÂбþ¤¹¤ë¥­¡¼¤ò¼«Æ°¥ê¥Ô¡¼¥È¤ÎÂоݤȤ·¡¢"0" ¤Î¥Ó¥Ã¥È¤ËÂÐ ±þ¤¹¤ë¥­¡¼¤ò¼«Æ°¥ê¥Ô¡¼¥È¤ÎÂоݤȤ·¤Ê¤¤¡£
¥¤¥Ù¥ó¥È¤òȯÀ¸¤·¤Ê¤¤¥á¥¿¥­¡¼¤Ï¼«Æ°¥ê¥Ô¡¼¥È¤ÎÂоݤȤ·¤Æ¤â̵»ë¤µ¤ì¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ADR      : ¥¢¥É¥ì¥¹(keymap)¤Î¥¢¥¯¥»¥¹¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£

get_krm
Ê
¼«Æ°¥ê¥Ô¡¼¥ÈÂоݥ­¡¼¤Î¼èÆÀ

¡Ú·Á¼°¡Û

ERR get_krm(KeyMap keymap)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

KeyMap  keymap  ¼«Æ°¥ê¥Ô¡¼¥ÈÂоݥ­¡¼¥Þ¥Ã¥×¤Î³ÊǼÎΰè

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

¼«Æ°¥ê¥Ô¡¼¥È¤ÎÂоݤȤʤ륭¡¼¤ò¼è¤ê½Ð¤¹¡£
¼è¤ê½Ð¤·¤¿¥­¡¼¥Þ¥Ã¥×¤Î "1" ¤Î¥Ó¥Ã¥È¤ËÂбþ¤¹¤ë¥­¡¼¤¬¼«Æ°¥ê¥Ô¡¼¥È¤ÎÂоݤǡ¢"0" ¤Î¥Ó¥Ã¥È¤ËÂбþ¤¹¤ë¥­¡¼¤Ï¼«Æ°¥ê¥Ô¡¼¥È¤ÎÂоݤǤʤ¤¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ADR      : ¥¢¥É¥ì¥¹(keymap)¤Î¥¢¥¯¥»¥¹¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£

get_kid
Ê
¥­¡¼¥Ü¡¼¥ÉID¤Î¼èÆÀ

¡Ú·Á¼°¡Û

ERR get_kid(KBD_ID* id)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

KBD_ID* id  ¥­¥Ü¡¼¥ÉID¤Î³ÊǼÎΰè

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

¥­¡¼¥Ü¡¼¥ÉID¤ò¼è¤ê½Ð¤¹¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ADR      : ¥¢¥É¥ì¥¹(id)¤Î¥¢¥¯¥»¥¹¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_BUSY     : ¥­¡¼¥Ü¡¼¥É¤Ï¥Ó¥¸¡¼¾õÂ֤Ǥ¢¤ë¡£
ER_DEV      : ¥Ç¥Ð¥¤¥¹¤ËÂФ·¤Æ¤ÎÁàºî¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_ERDEV    : ÁõÃְ۾郎ȯÀ¸¤·¤¿¡£
ER_IO       : Æþ½ÐÎÏ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
ER_NODEV    : ¥Ç¥Ð¥¤¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤¬¤Ç¤­¤Ê¤¤¡£
ER_NOSPC    : ¥·¥¹¥Æ¥à¤Î¥á¥â¥êÎΰ褬ÉÔ­¤·¤¿¡£

get_ktb
Ê
ʸ»ú¥³¡¼¥ÉÊÑ´¹É½¤Î¼èÆÀ

¡Ú·Á¼°¡Û

WERR    get_ktb(KeyTab* keytab)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

KeyTab* keytab      ʸ»ú¥³¡¼¥ÉÊÑ´¹É½¤Î³ÊǼÎΰè
                    NULL  ³ÊǼ¤·¤Ê¤¤

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡æ0    Àµ¾ï(ʸ»ú¥³¡¼¥ÉÊÑ´¹É½¤ÎÁ´ÂΤΥХ¤¥È¥µ¥¤¥º)
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

¸½ºßÀßÄꤵ¤ì¤Æ¤¤¤ëʸ»ú¥³¡¼¥ÉÊÑ´¹É½¤ò¼è¤ê½Ð¤·¡¢Ê¸»ú¥³¡¼¥ÉÊÑ´¹É½Á´ÂΤΥХ¤¥È¥µ¥¤¥º¤ò´Ø¿ôÃͤȤ·¤ÆÌ᤹¡£
keytab = NULL ¤Ï¡¢Ê¸»ú¥³¡¼¥ÉÊÑ´¹É½¤Î¥Ð¥¤¥È¥µ¥¤¥º¤ò¼è¤ê½Ð¤¹¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ADR      : ¥¢¥É¥ì¥¹(keytab)¤Î¥¢¥¯¥»¥¹¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_BUSY     : ¥­¡¼¥Ü¡¼¥É¤Ï¥Ó¥¸¡¼¾õÂ֤Ǥ¢¤ë¡£
ER_DEV      : ¥Ç¥Ð¥¤¥¹¤ËÂФ·¤Æ¤ÎÁàºî¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_ERDEV    : ÁõÃְ۾郎ȯÀ¸¤·¤¿¡£
ER_IO       : Æþ½ÐÎÏ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
ER_NODEV    : ¥Ç¥Ð¥¤¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤¬¤Ç¤­¤Ê¤¤¡£
ER_NOSPC    : ¥·¥¹¥Æ¥à¤Î¥á¥â¥êÎΰ褬ÉÔ­¤·¤¿¡£

set_ktb
Ê
ʸ»ú¥³¡¼¥ÉÊÑ´¹É½¤ÎÀßÄê

¡Ú·Á¼°¡Û

ERR set_ktb(KeyTab* keytab)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

KeyTab* keytab      ÀßÄꤹ¤ëʸ»ú¥³¡¼¥ÉÊÑ´¹É½

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

»ØÄꤷ¤¿Ê¸»ú¥³¡¼¥ÉÊÑ´¹É½¤òÀßÄꤹ¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_ADR      : ¥¢¥É¥ì¥¹(keytab)¤Î¥¢¥¯¥»¥¹¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_BUSY     : ¥­¡¼¥Ü¡¼¥É¤Ï¥Ó¥¸¡¼¾õÂ֤Ǥ¢¤ë¡£
ER_DEV      : ¥Ç¥Ð¥¤¥¹¤ËÂФ·¤Æ¤ÎÁàºî¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_ERDEV    : ÁõÃְ۾郎ȯÀ¸¤·¤¿¡£
ER_IO       : Æþ½ÐÎÏ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
ER_NODEV    : ¥Ç¥Ð¥¤¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤¬¤Ç¤­¤Ê¤¤¡£
ER_PAR      : ¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¢¤ë(keytab ¤ÎÆâÍÆ¤¬ÉÔÀµ)¡£
ER_NOSPC    : ¥·¥¹¥Æ¥à¤Î¥á¥â¥êÎΰ褬ÉÔ­¤·¤¿¡£

chg_pda
Ê
¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹Â°À­¤ÎÊѹ¹

¡Ú·Á¼°¡Û

WERR    chg_pda(W atr)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W   atr ¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹Â°À­
        <0    Êѹ¹¤·¤Ê¤¤(¸½ºß¤Î¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹Â°À­¤Î¼èÆÀ)

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡æ0    Àµ¾ï(Êѹ¹Á°¤ÎPD°À­)
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹¤Î°À­¤òÊѹ¹¤·¡¢Êѹ¹Á°¤Î°À­¤ò´Ø¿ôÃͤȤ·¤ÆÌ᤹¡£
atr <0 ¤Î¤È¤­¤ÏÊѹ¹¤»¤º¤Ë¸½ºß¤Î¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹Â°À­¤ò´Ø¿ôÃͤȤ·¤ÆÌ᤹¡£
¥Ý¥¤¥ó¥Æ¥£¥ó¥°¥Ç¥Ð¥¤¥¹Â°À­¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡£

        xx..xx xxxV xxxA RRRR SSSS

        A¡§ ưºî¥¿¥¤¥× ( 0: ÁêÂкÂɸ¥¿¥¤¥×¡¢ 1: ÀäÂкÂɸ¥¿¥¤¥× )
        S¡§ ´¶ÅÙ ( 0: ºÇÄã´¶ÅÙ ¡Á 15: ºÇ¹â´¶ÅÙ )
        R¡§ ¥¹¥­¥ã¥ó®ÅÙ ( 0: ºÇÄã® ¡Á 15: ºÇ¹â® )
        V¡§ º¸±¦È¿Å¾ ( 0: ±¦¼ê¥â¡¼¥É¡¢ 1: º¸¼ê¥â¡¼¥É )
        x¡§ ͽÌó ( = 0 )

ưºî¥¿¥¤¥×¤ÎÊѹ¹¤¬ÉÔ²Äǽ¤Î¾ì¹ç¤Ï¥¨¥é¡¼(ER_DEV)¤È¤Ê¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_BUSY     : PD¤Ï¥Ó¥¸¡¼¾õÂ֤Ǥ¢¤ë¡£
ER_DEV      : ¥Ç¥Ð¥¤¥¹¤ËÂФ·¤Æ¤ÎÁàºî¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_ERDEV    : ÁõÃְ۾郎ȯÀ¸¤·¤¿¡£
ER_IO       : Æþ½ÐÎÏ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
ER_NODEV    : ¥Ç¥Ð¥¤¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤¬¤Ç¤­¤Ê¤¤¡£
ER_PAR      : ¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¢¤ë(atr)¡£
ER_NOSPC    : ¥·¥¹¥Æ¥à¤Î¥á¥â¥êÎΰ褬ÉÔ­¤·¤¿¡£

sig_buz
Ê
¥Ö¥¶¡¼²»¤ÎȯÀ¸

¡Ú·Á¼°¡Û

ERR sig_buz(W type)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W   type    ¥Ö¥¶¡¼²»¤Î¼ïÊÌ
        = 0    ɸ½à¤Î·Ù¹ð¥Ö¥¶¡¼
        = -1  ¥Ö¥¶¡¼¤ÎÄä»ß
        0xTTTTHHHH

        TTTT¡â0¤Î¾ì¹ç
            HHHH¡æ0 ¤Î¾ì¹ç (¥Ö¥¶¡¼)
                T: ÌĤ餹»þ´Ö (1 ¡Á 32767 msec)
                H: ÌĤ餹¼þÇÈ¿ô (0 ¡Á 32767 Hz)

            HHHH<0 ¤Î¾ì¹ç (¥á¥í¥Ç¥£¡¼)
                T: ·«¤êÊÖ¤·²ó¿ô (1 ¡Á 32767)
                H: ¥á¥í¥Ç¥£¡¼ÈÖ¹æ (-1 ¡Á -100)

        TTTT= 0 ¤Î¾ì¹ç (¥Ö¥¶¡¼)
            type = 0x0000thhh
            t: ÌĤ餹»þ´Ö (100msec ñ°Ì)
            h: ÌĤ餹¼þÇÈ¿ô (10Hz ñ°Ì)

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

»ØÄꤷ¤¿¼ïÎà¤Î¥Ö¥¶¡¼²»¤Þ¤¿¤Ï¥á¥í¥Ç¥£¡¼¤òȯÀ¸¤¹¤ë¡£
¥á¥í¥Ç¥£¡¼¤Ï beep ¥É¥é¥¤¥Ð¡¼¤ËÅÐÏ¿¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¡£¥á¥í¥Ç¥£¡¼¤ÎÅÐÏ¿¤Ï¡¢beep ¥É¥é¥¤¥Ð¡¼¤ØÄ¾ÀܹԤ¦¡£
beep ¥É¥é¥¤¥Ð¡¼¤¬¥á¥í¥Ç¥£¡¼¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¥á¥í¥Ç¥£¡¼¤Îµ¡Ç½¤Ï»ÈÍѤǤ­¤Ê¤¤¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_DEV      : ¥Ç¥Ð¥¤¥¹¤ËÂФ·¤Æ¤ÎÁàºî¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
ER_ERDEV    : ÁõÃְ۾郎ȯÀ¸¤·¤¿¡£
ER_IO       : Æþ½ÐÎÏ¥¨¥é¡¼¤¬È¯À¸¤·¤¿¡£
ER_NODEV    : ¥Ç¥Ð¥¤¥¹¤Ø¤Î¥¢¥¯¥»¥¹¤¬¤Ç¤­¤Ê¤¤¡£
ER_PAR      : ¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¢¤ë¡£

ctl_buz
Ê
¥Ö¥¶¡¼²»¤ÎÀ©¸æ

¡Ú·Á¼°¡Û

ERR ctl_buz(W kind, UW *val)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W   kind    À©¸æÁàºî¤Î¼ïÊÌ

UW  *val    À©¸æÁàºî¤ÎÃÍ

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

¥Ö¥¶¡¼²»¤ËÂФ·¤Æ³Æ¼ï¤ÎÀ©¸æÁàºî¤ò¹Ô¤¦¡£

kind:   GET_BUZ_BEEP    ²»¿§¡§É¸½à¤Î·Ù¹ð²»¤Î¼è¤ê½Ð¤·
        GET_BUZ_PDON    ²»¿§¡§¥Ü¥¿¥óON¤Î¥¯¥ê¥Ã¥¯²»¤Î¼è¤ê½Ð¤·
        GET_BUZ_PDOFF   ²»¿§¡§¥Ü¥¿¥óOFF¤Î¥¯¥ê¥Ã¥¯²»¤Î¼è¤ê½Ð¤·
        GET_BUZ_KEYON   ²»¿§¡§¥­¡¼ON¤Î¥¯¥ê¥Ã¥¯²»¤Î¼è¤ê½Ð¤·
        GET_BUZ_KEYOFF  ²»¿§¡§¥­¡¼OFF¥¯¥ê¥Ã¥¯²»¤Î¼è¤ê½Ð¤·
        GET_BUZ_VOLUME  ²»ÎÌ¡§¼è¤ê½Ð¤·
        SET_BUZ_BEEP    ²»¿§¡§É¸½à¤Î·Ù¹ð²»¤ÎÀßÄê
        SET_BUZ_PDON    ²»¿§¡§¥Ü¥¿¥óON¤Î¥¯¥ê¥Ã¥¯²»¤ÎÀßÄê
        SET_BUZ_PDOFF   ²»¿§¡§¥Ü¥¿¥óOFF¤Î¥¯¥ê¥Ã¥¯²»¤ÎÀßÄê
        SET_BUZ_KEYON   ²»¿§¡§¥­¡¼ON¤Î¥¯¥ê¥Ã¥¯²»¤ÎÀßÄê
        SET_BUZ_KEYOFF  ²»¿§¡§¥­¡¼OFF¤Î¥¯¥ê¥Ã¥¯²»¤ÎÀßÄê
        SET_BUZ_VOLUME  ²»ÎÌ¡§ÀßÄê

val:    ²»¿§¡§  DTTT TTTT TTTT TTTT HHHH HHHH HHHH HHHH
        D¡§0¡§Í­¸ú¡¢1¡§Ìµ¸ú(²»¤Ê¤·)
        H¡æ0 ¤Î¾ì¹ç (¥Ö¥¶¡¼)
            T¡§»þ´Ö(msec)
            H¡§¼þÇÈ¿ô(Hz)
        H<0 ¤Î¾ì¹ç (¥á¥í¥Ç¥£¡¼)
            T¡§·«¤êÊÖ¤·²ó¿ô
            H¡§¥á¥í¥Ç¥£¡¼ÈÖ¹æ

    ²»ÎÌ¡§  LLLL LLLL LLLL LLLL RRRR RRRR RRRR RRRR
        L¡§º¸¥Á¥ã¥ó¥Í¥ë²»ÎÌ (̵²»=0 ¡Á ºÇÂç=0xffff)
        R¡§±¦¥Á¥ã¥ó¥Í¥ë²»ÎÌ (̵²»=0 ¡Á ºÇÂç=0xffff)
        ²»Î̤ϡ¢¤¹¤Ù¤Æ¤Î·Ù¹ð²»¡¢¥¯¥ê¥Ã¥¯²»¤Ë¶¦Ä̤Ǥ¢¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_PAR      : ¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¢¤ë¡£
ER_ADR      : ¥¢¥É¥ì¥¹(val)¤Î¥¢¥¯¥»¥¹¤Ïµö¤µ¤ì¤Æ¤¤¤Ê¤¤¡£

req_evt
Ê
¥¤¥Ù¥ó¥È¥á¥Ã¥»¡¼¥¸Í×µá

¡Ú·Á¼°¡Û

ERR req_evt(W t_mask)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W   t_mask  Âоݥ¤¥Ù¥ó¥È¥¿¥¤¥×¥Þ¥¹¥¯

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡á0    Àµ¾ï
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

t_mask ¤Ç»ØÄꤷ¤¿¥¿¥¤¥×¤Î¥¤¥Ù¥ó¥È¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¡¢¤½¤Î¥¤¥Ù¥ó¥È¤ò¥á¥Ã¥»¡¼¥¸¤È¤·¤Æ¼«¥×¥í¥»¥¹(req_evt ¤ò¥³¡¼¥ë¤·¤¿¥×¥í¥»¥¹)¤ËÁ÷¿®¤¹¤ë¤³¤È¤òÍ׵᤹¤ë¡£
¤¿¤À¤·¡¢EV_NULL¡¢EV_AUTKEY ¤Ï¥á¥Ã¥»¡¼¥¸¤È¤·¤ÆÁ÷¿®¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£
¥á¥Ã¥»¡¼¥¸¤È¤·¤ÆÁ÷¿®¤µ¤ì¤Æ¤â¡¢¤½¤Î¥¤¥Ù¥ó¥È¤Ï¥¤¥Ù¥ó¥È¥­¥å¡¼¤«¤é¼è¤ê½ü¤«¤ì¤Ê¤¤¡£

¥á¥Ã¥»¡¼¥¸·Á¼°

struct {
    W       msg_type;   /* ¥á¥Ã¥»¡¼¥¸¥¿¥¤¥× = MS_SYS5 */
    W       msg_size;   /* ¥á¥Ã¥»¡¼¥¸¥µ¥¤¥º */
    EVENT   evt;        /* ¥¤¥Ù¥ó¥È */
    VB      info[];     /* ÄɲþðÊó */
}

msg_type ¤Ï¡¢MS_SYS5 ¸ÇÄê¤È¤Ê¤ë¡£
¥á¥Ã¥»¡¼¥¸¤Ë¤Ï¡¢É¸½à¤Ç¤ÏȯÀ¸¤·¤¿¥¤¥Ù¥ó¥È¤¬ evt ¤Ë³ÊǼ¤µ¤ì¤ë¡£¤Þ¤¿¡¢¥¤¥Ù¥ó¥È¤Î¼ïÎà¤Ë¤è¤Ã¤Æ¡¢ÄɲþðÊó¤¬ info ¤Ë³ÊǼ¤µ¤ì¤ë¾ì¹ç¤¬¤¢¤ë¡£¤·¤¿¤¬¤Ã¤Æ¡¢msg_size ¤ÏºÇÄã¤Ç sizeof(EVENT) ¤È¤Ê¤ê¡¢ÄɲþðÊ󤬤¢¤ì¤Ð¤½¤Î¥µ¥¤¥ºÊ¬Â礭¤¯¤Ê¤ë¡£ÄɲþðÊó¤Ï¤½¤ÎÆâÍÆ¤Ë¤è¤ê¥µ¥¤¥º¤¬°Û¤Ê¤ë¡£
¥Ç¥Ð¥¤¥¹¥¤¥Ù¥ó¥È(EV_DEVICE)¤Î¾ì¹ç¤Ë¡¢ÄɲþðÊó¤¬Éղ䵤ì¤ë¡£ÄɲþðÊó¤Ï¡¢¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤«¤é¤Î»ö¾ÝÄÌÃÎ¤ÎÆâÍÆ¤½¤Î¤â¤Î¤È¤Ê¤ë¡£
rcv_msg() ¤Ë¤è¤ê¥á¥Ã¥»¡¼¥¸¤ò¼õ¿®¤·¤¿¤È¤­¤ÎÁ÷¿®¥×¥í¥»¥¹ ID ¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£

t_mask ¤Ë EM_NULL ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢¥¤¥Ù¥ó¥È¥á¥Ã¥»¡¼¥¸¤ÎÍ׵᤬²ò½ü¤µ¤ì¤ë¡£¤Þ¤¿¡¢¥×¥í¥»¥¹¤¬½ªÎ»¤·¤¿¤È¤­¤Ë¤â¼«Æ°Åª¤Ë²ò½ü¤µ¤ì¤ë¡£
¥×¥í¥»¥¹¤Î¥á¥Ã¥»¡¼¥¸¥­¥å¡¼¤¬°ìÇÕ¤ÇÁ÷¿®¤Ç¤­¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥¤¥Ù¥ó¥È¥á¥Ã¥»¡¼¥¸¤Ïñ¤Ë¼Î¤Æ¤é¤ì¤ë¡£
¥¤¥Ù¥ó¥È¥á¥Ã¥»¡¼¥¸Í×µá¤òƱ»þ¤Ë¹Ô¤¨¤ë¥×¥í¥»¥¹¤ÎºÇÂç¿ô¤Ï¡¢¥·¥¹¥Æ¥à¤ÇÀ©¸Â¤µ¤ì¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_PAR      : ¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¢¤ë¡£
ER_LIMIT    : ¥¤¥Ù¥ó¥È¥á¥Ã¥»¡¼¥¸Í×µá¤ÎÅÐÏ¿¿ô¤¬¥·¥¹¥Æ¥à¤ÎÀ©¸Â¤òͤ¨¤¿¡£

las_evt
Ê
ºÇ½ª¥¤¥Ù¥ó¥ÈȯÀ¸¤«¤é¤Î·Ð²á»þ´Ö¤Î¼èÆÀ

¡Ú·Á¼°¡Û

WERR    las_evt(W t_mask)

¡Ú¥Ñ¥é¥á¡¼¥¿¡Û

W   t_mask  Âоݥ¤¥Ù¥ó¥È¥¿¥¤¥×¥Þ¥¹¥¯

¡Ú¥ê¥¿¡¼¥óÃÍ¡Û

¡æ0    Àµ¾ï(ºÇ½ª¥¤¥Ù¥ó¥ÈȯÀ¸¤«¤é¤Î·Ð²á»þ´Ö)
¡ã0    ¥¨¥é¡¼(¥¨¥é¡¼¥³¡¼¥É)

¡Ú²òÀâ¡Û

t_mask ¤Ç»ØÄꤷ¤¿¥¿¥¤¥×¤Î¥¤¥Ù¥ó¥È¤ÎÆâ¡¢ºÇ¸å¤ËȯÀ¸¤·¤¿¥¤¥Ù¥ó¥È¤«¤é¸½ºß¤Þ¤Ç¤Î·Ð²á»þ´Ö¤ò¥ß¥êÉÃñ°Ì¤ÇÊÖ¤¹¡£
t_mask ¤Ë EM_BUTDWN ¤Þ¤¿¤Ï EM_BUTUP ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢¥Ý¥¤¥ó¥¿¤Î°Üư¤ª¤è¤Ó¥á¥Ë¥å¡¼¥Ü¥¿¥ó¤ÎÁàºî¤â¥¤¥Ù¥ó¥ÈȯÀ¸¤È°·¤¦¡£¤Þ¤¿¡¢EM_KEYDWN ¤Þ¤¿¤Ï EM_KEYUP ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢¥á¥¿¥­¡¼¤Î¾õÂÖÊѲ½¤â¥¤¥Ù¥ó¥ÈȯÀ¸¤È°·¤¦¡£
t_mask ¤Ë EM_NULL ¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢¤¹¤Ù¤Æ¤Î¥¿¥¤¥×¤Î¥¤¥Ù¥ó¥È¤ÎºÇ½ªÈ¯À¸»þ¹ï¤Ë¸½ºß»þ¹ï¤¬¥»¥Ã¥È¤µ¤ì¤ë¡£

¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û

ER_PAR      : ¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¢¤ë¡£


¤³¤Î¾Ï¤ÎÌܼ¡¤Ë¤â¤É¤ë
Á°ÊÇ:1.6 ¥Õ¥¡¥¤¥ë´ÉÍý¤Ë¤â¤É¤ë
¼¡ÊÇ:1.8 ¥Ç¥Ð¥¤¥¹´ÉÍý¤Ë¤¹¤¹¤à