Next: , Previous: Reading Input, Up: Reading Input   [Contents][Index]


20.6.1 ¥­¡¼Îó¤ÎÆþÎÏ

¥³¥Þ¥ó¥É¥ë¡¼¥×¤Ï¡¢read-key-sequence¤ò¸Æ¤Ö¤³¤È¤Ç ¥­¡¼Îó¤ÎÆþÎϤòÆÉ¤ß¼è¤ê¤Þ¤¹¡£ Lisp¥×¥í¥°¥é¥à¤«¤é¤³¤Î´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¤Æ¤â¤è¤¯¡¢ ¤¿¤È¤¨¤Ð¡¢describe-key¤Ï¡¢ ÀâÌÀÂоݤȤ¹¤ë¥­¡¼¤òÆÉ¤à¤¿¤á¤Ë¤³¤Î´Ø¿ô¤ò»È¤¤¤Þ¤¹¡£

Function: read-key-sequence prompt

¤³¤Î´Ø¿ô¤Ï¡¢¥­¡¼Îó¤òÆÉ¤ß¼è¤êʸ»úÎ󤫥٥¯¥È¥ë¤È¤·¤ÆÊÖ¤¹¡£ ´°Á´¤Ê¥­¡¼Îó¤ò¼ý½¸¤·½ª¤¨¤ë¤Þ¤Ç¡¢ ¤Ä¤Þ¤ê¡¢¸½ºß³èÀ­¤Ê¥­¡¼¥Þ¥Ã¥×¤Ë¤ª¤¤¤Æ¡¢Èó¥×¥ì¥Õ¥£¥Ã¥¯¥¹¥³¥Þ¥ó¥É¤ò »ØÄꤹ¤ë¤Î¤Ë½½Ê¬¤Ë¤Ê¤ë¤Þ¤Ç¡¢¥¤¥Ù¥ó¥È¤òÆÉ¤ß³¤±¤ë¡£

¥¤¥Ù¥ó¥È¤¬¤¹¤Ù¤ÆÊ¸»ú¤Ç¤¢¤ê¡¢¤«¤Ä¡¢¤½¤ì¤é¤¬Ê¸»úÎó¤Ë¼ý¤Þ¤ë¤Ê¤é¤Ð¡¢ read-key-sequence¤Ïʸ»úÎó¡Êsee Strings of Events¡Ë¤òÊÖ¤¹¡£ ¤µ¤â¤Ê¤±¤ì¤Ð¡¢¥Ù¥¯¥È¥ë¤òÊÖ¤¹¡£ ¥Ù¥¯¥È¥ë¤Ê¤é¤Ð¡¢Ç¤°Õ¤Î¼ïÎà¤Î¥¤¥Ù¥ó¥È¡¢¤Ä¤Þ¤ê¡¢ ʸ»ú¡¢¥·¥ó¥Ü¥ë¡¢¥ê¥¹¥È¤òÊÝ»ý¤Ç¤­¤ë¤«¤é¤Ç¤¢¤ë¡£ ʸ»úÎó¤ä¥Ù¥¯¥È¥ë¤ÎÍ×ÁǤϡ¢¥­¡¼Îó¤Î¥¤¥Ù¥ó¥È¤Ç¤¢¤ë¡£

°ú¿ôprompt¤Ï¡¢¥×¥í¥ó¥×¥È¤È¤·¤Æ¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤¹¤ëʸ»úÎó¤Ç¤¢¤ë¤«¡¢ ¤¢¤ë¤¤¤Ï¡¢¥×¥í¥ó¥×¥È¤òɽ¼¨¤·¤Ê¤¤¤³¤È¤ò°ÕÌ£¤¹¤ënil¤Ç¤¢¤ë¡£

°Ê²¼¤ÎÎã¤Ç¤Ï¡¢¥×¥í¥ó¥×¥È‘?’¤¬¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤µ¤ì¡¢ ¥æ¡¼¥¶¡¼¤ÏC-x C-f¤ÈÂǤġ£

(read-key-sequence "?")

---------- Echo Area ----------
?C-x C-f
---------- Echo Area ----------

     ⇒ "^X^F"

´Ø¿ôread-key-sequence¤ÏÃæÃǤòÍ޻ߤ¹¤ë¡£ ¤³¤Î´Ø¿ô¤¬Æ°ºîÃæ¤ËC-g¤òÂǤäƤ⡢¾¤Îʸ»ú¤ÈƱÍͤ˰·¤¤¡¢ quit-flag¤òÀßÄꤷ¤Ê¤¤¡£ see Quitting¡£

Function: read-key-sequence-vector prompt

¤³¤ì¤Ïread-key-sequence¤ÈƱÍͤǤ¢¤ë¤¬¡¢ ¤Ä¤Í¤Ë¥Ù¥¯¥È¥ë¤È¤·¤Æ¥­¡¼Îó¤òÊÖ¤·¡¢Ê¸»úÎó¤È¤·¤Æ¤Ï¤±¤Ã¤·¤ÆÊÖ¤µ¤Ê¤¤¡£ see Strings of Events¡£

ÆþÎÏʸ»ú¤¬Âçʸ»ú¤Ç¤¢¤Ã¤Æ¡¢¤½¤ì¤é¤Ë¥­¡¼¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬¤Ê¤¤¤È¤­¡¢ Âбþ¤¹¤ë¾®Ê¸»ú¤Ë¥­¡¼¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤¬¤¢¤ì¤Ð¡¢ read-key-sequence¤Ïʸ»ú¤ò¾®Ê¸»ú¤ËÊÑ´¹¤·¤Þ¤¹¡£ lookup-key¤Ï¤³¤Î¤è¤¦¤ÊÊÑ´¹¤ò¹Ô¤ï¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£

´Ø¿ôread-key-sequence¤Ï¡¢¤¢¤ë¼ï¤Î¥Þ¥¦¥¹¥¤¥Ù¥ó¥È¤âÊÑ´¹¤·¤Þ¤¹¡£ ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Î¤Ê¤¤¥É¥é¥Ã¥°¥¤¥Ù¥ó¥È¤ò¥¯¥ê¥Ã¥¯¥¤¥Ù¥ó¥È¤ËÊÑ´¹¤·¤¿¤ê¡¢ ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤Î¤Ê¤¤¥Ü¥¿¥ó²¡¤·²¼¤²¥¤¥Ù¥ó¥È¤ò´°Á´¤Ë̵»ë¤·¤Þ¤¹¡£ ¤µ¤é¤Ë¡¢¥Õ¥©¡¼¥«¥¹¥¤¥Ù¥ó¥È¤È¤½¤Î¾¤Î¥¦¥£¥ó¥É¥¦¥¤¥Ù¥ó¥È¤òʤÓÂØ¤¨¤Æ¡¢ ¤½¤ì¤é¤¬Â¾¤Î¥¤¥Ù¥ó¥È¤Î¥­¡¼Îó¤ÎÅÓÃæ¤Ë¸½¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£

¥Þ¥¦¥¹¥¤¥Ù¥ó¥È¤¬¡¢¥â¡¼¥É¹Ô¤ä¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Ê¤É¤Î¥¦¥£¥ó¥É¥¦¤ÎÆÃÊ̤ÊÉôʬ¤Ç À¸µ¯¤·¤Æ¤â¡¢ÆÃÊ̤ʥ¤¥Ù¥ó¥È·¿¤Ï¤Ê¤¯¡¢¥Þ¥¦¥¹¥Ü¥¿¥ó¤ä½¤¾þ¥­¡¼¤Î ÁȤ߹ç¤ï¤»¤òÉáÄ̤ɤª¤ê¤Ëɽ¤·¤¿¥·¥ó¥Ü¥ë¤Ç¤¹¡£ ¥¦¥£¥ó¥É¥¦¤Î¤É¤ÎÉôʬ¤«¤Ë´Ø¤¹¤ë¾ðÊó¤Ï¡¢ ¥¤¥Ù¥ó¥ÈÆâ¤ÎÊ̤ÎÉôʬ¡¢¤Ä¤Þ¤ê¡¢ºÂɸ¤ËÆþ¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤·¤«¤·¡¢read-key-sequence¤Ï¡¢¤½¤Î¾ðÊó¤ò ¥·¥ó¥Ü¥ëmode-line¡¢vertical-line¡¢horizontal-scroll-bar¡¢ vertical-scroll-bar¤òÍѤ¤¤¿²¾ÁÛŪ¤Ê¡Ø¥×¥ì¥Õ¥£¥Ã¥¯¥¹¥­¡¼¡Ù¤ËÊÑ´¹¤·¤Þ¤¹¡£ ¥¦¥£¥ó¥É¥¦¤ÎÆÃÊ̤ÊÉôʬ¤Ë¤ª¤±¤ë¥Þ¥¦¥¹¥¯¥ê¥Ã¥¯¤Î°ÕÌ£¤Ï¡¢ ¤³¤ì¤é¤Î²¾ÁÛŪ¤Ê¥×¥ì¥Õ¥£¥Ã¥¯¥¹¥­¡¼¤òÍѤ¤¤Æ¥­¡¼Îó¤òÄêµÁ¤¹¤ë¤³¤È¤Ç ÄêµÁ¤Ç¤­¤Þ¤¹¡£

¤¿¤È¤¨¤Ð¡¢read-key-sequence¤ò¸Æ¤Ó½Ð¤·¤Æ¤«¤é¡¢ ¥¦¥£¥ó¥É¥¦¤Î¥â¡¼¥É¹Ô¤Ç¥¯¥ê¥Ã¥¯¤¹¤ë¤È¡¢ ¤Ä¤®¤Î¤è¤¦¤Ê2¤Ä¤Î¥¤¥Ù¥ó¥È¤òÆÀ¤Þ¤¹¡£

(read-key-sequence "Click on the mode line: ")
     ⇒ [mode-line
         (mouse-1
          (#<window 6 on NEWS> mode-line
           (40 . 63) 5959987))]
Variable: num-input-keys

¤³¤ÎÊÑ¿ô¤ÎÃͤϡ¢¸½ºß¤ÎEmacs¥»¥Ã¥·¥ç¥ó¤Ë¤ª¤¤¤Æ¡¢ ¤³¤ì¤Þ¤Ç¤Ë½èÍý¤µ¤ì¤¿¥­¡¼Îó¤Î¸Ä¿ô¤Ç¤¢¤ë¡£ ¤³¤ì¤Ë¤Ï¡¢Ã¼Ëö¤«¤éÆÉ¤ß¼è¤Ã¤¿¥­¡¼Î󡢤ª¤è¤Ó¡¢ ¼Â¹Ô¤·¤¿¥­¡¼¥Ü¡¼¥É¥Þ¥¯¥í¤«¤éÆÉ¤ß¼è¤Ã¤¿¥­¡¼Î󤬴ޤޤì¤ë¡£

Variable: num-nonmacro-input-events

¤³¤ÎÊÑ¿ô¤Ï¡¢Ã¼Ëö¤«¤é¤³¤ì¤Þ¤Ç¤Ë¼õ¤±¼è¤Ã¤¿ÆþÎÏ¥¤¥Ù¥ó¥È¤ÎÁí¸Ä¿ô¤òÊÝ»ý¤¹¤ë¡£ ¥­¡¼¥Ü¡¼¥É¥Þ¥¯¥í¤ÇÀ¸À®¤µ¤ì¤¿¤â¤Î¤Ï´Þ¤Þ¤Ê¤¤¡£