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


20.6.2 ñ°ì¥¤¥Ù¥ó¥È¤ÎÆÉ¤ß¼è¤ê

¥³¥Þ¥ó¥ÉÆþÎÏÍѤκÇÄã¥ì¥Ù¥ë¤Î´Ø¿ô¤Ï¡¢Ã±°ì¥¤¥Ù¥ó¥È¤òÆÉ¤ß¼è¤ë´Ø¿ô¤Ç¤¹¡£

Function: read-event &optional prompt suppress-input-method

¤³¤Î´Ø¿ô¤Ï¡¢É¬Íפʤé¤Ð¥¤¥Ù¥ó¥È¤ÎÅþÃå¤òÂԤäơ¢ ¥³¥Þ¥ó¥ÉÆþÎϤΤĤ®¤Î¥¤¥Ù¥ó¥È¤òÆÉ¤ß¼è¤Ã¤ÆÊÖ¤¹¡£ ¥¤¥Ù¥ó¥È¤Ï¡¢¥æ¡¼¥¶¡¼¤«¡Ê¼Â¹ÔÃæ¤Î¡Ë¥­¡¼¥Ü¡¼¥É¥Þ¥¯¥í¤«¤éľÀÜÆÀ¤ë¡£

prompt¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢ ¤³¤ì¤Ï¥×¥í¥ó¥×¥È¤È¤·¤Æ¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤µ¤ì¤ëʸ»úÎó¤Ç¤¢¤ë¤³¤È¡£ ¤µ¤â¤Ê¤±¤ì¤Ð¡¢read-event¤Ï ÆþÎÏÂÔ¤Á¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤»¤º¤Ë¡¢ ¤½¤Î¤«¤ï¤ê¤Ë¡¢¸½ºß¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤Ë»ê¤Ã¤¿¥¤¥Ù¥ó¥È¤ä ¸½ºß¤Î¥³¥Þ¥ó¥É¤¬ÆÉ¤ß¼è¤Ã¤¿¥¤¥Ù¥ó¥È¤ò¥×¥í¥ó¥×¥È¤È¤·¤ÆÉ½¼¨¤¹¤ë¡£ see The Echo Area¡£

suppress-input-method¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢ ¤³¤Î¥¤¥Ù¥ó¥È¤ÎÆÉ¤ß¼è¤ê¤Ë´Ø¤·¤Æ¤Ï¸½ºß¤ÎÆþÎÏÊý¼°¤ò»È¤ï¤Ê¤¤¡£ ÆþÎÏÊý¼°¤Î½èÍý¤ò¤»¤º¤Ë¥¤¥Ù¥ó¥È¤òÆÉ¤ß¤¿¤¤¤È¤­¤Ë¤Ï¡¢ ¤Ä¤Í¤Ë¤³¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¡£ input-method-function¤ò«Çû¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡Ê²¼µ­»²¾È¡Ë¡£

ÊÑ¿ôcursor-in-echo-area¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢ read-event¤Ï¡¢¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤µ¤ì¤¿¥á¥Ã¥»¡¼¥¸¤ÎËöÈø¤Ë ¥«¡¼¥½¥ë¤ò°ì»þŪ¤Ë°Üư¤¹¤ë¡£ ¤µ¤â¤Ê¤±¤ì¤Ð¡¢read-event¤Ï¥«¡¼¥½¥ë¤ò°Üư¤·¤Ê¤¤¡£

read-event¤¬¥Ø¥ë¥×ʸ»ú¤ÈÄêµÁ¤µ¤ì¤¿¥¤¥Ù¥ó¥È¤ò¼õ¤±¼è¤ë¤È¡¢ ¤½¤ì¤òÊÖ¤µ¤º¤Ëread-event¤¬¥¤¥Ù¥ó¥È¤òľÀܽèÍý¤·¤Æ¤·¤Þ¤¦¾ì¹ç¤¬¤¢¤ë¡£ see Help Functions¡£ ÆÃ¼ì¥¤¥Ù¥ó¥È¡Êspecial event¡Ë¤È¸Æ¤Ð¤ì¤ë¾¤Î¥¤¥Ù¥ó¥È¤â read-event¤¬Ä¾ÀܽèÍý¤¹¤ë¡Êsee Special Events¡Ë¡£

read-event¤ò¸Æ¤ó¤Ç±¦Ìð°õ¤Î¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥­¡¼¤ò²¡¤¹¤È¤Ä¤®¤Î¤è¤¦¤Ë¤Ê¤ë¡£

(read-event)
     ⇒ right
Function: read-char

¤³¤Î´Ø¿ô¤Ï¥³¥Þ¥ó¥ÉÆþÎϤÎʸ»ú¤òÆÉ¤ß¼è¤ê¤½¤ì¤òÊÖ¤¹¡£ ʸ»ú¤òÆÀ¤ë¤Þ¤Ç¡¢Ê¸»ú°Ê³°¤Î¥¤¥Ù¥ó¥È¤Ï¤¹¤Ù¤ÆÇË´þ¤¹¤ë¡£

ºÇ½é¤ÎÎã¤Ç¤Ï¡¢¥æ¡¼¥¶¡¼¤Ïʸ»ú1¡ÊASCII¥³¡¼¥É49¡Ë¤òÂǤġ£ 2ÈÖÌܤÎÎã¤Ï¡¢eval-expression¤ò»È¤Ã¤Æ ¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤«¤éread-char¤ò¸Æ¤Ó½Ð¤¹¥­¡¼¥Ü¡¼¥É¥Þ¥¯¥í¤ÎÄêµÁ¤Ç¤¢¤ë¡£ read-char¤Ï¥­¡¼¥Ü¡¼¥É¥Þ¥¯¥í¤Îľ¸å¤Îʸ»ú¡¢¤Ä¤Þ¤ê¡¢1¤òÆÉ¤à¡£ ¤½¤·¤Æ¡¢eval-expression¤Ï¤½¤ÎÌá¤êÃͤò¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤¹¤ë¡£

(read-char)
     ⇒ 49
;; ¤³¤ì¤òɾ²Á¤¹¤ë¤¿¤á¤ËÆÉ¼Ô¤ÏM-:¤ò»È¤¦¤È²¾Äꤹ¤ë
(symbol-function 'foo)
     ⇒ "^[:(read-char)^M1"
(execute-kbd-macro 'foo)
     -| 49
     ⇒ nil

read-event¤Ï¡¢¤¢¤ì¤Ð¸½ºß¤ÎÆþÎÏÊý¼°¤âµ¯Æ°¤·¤Þ¤¹¡£ input-method-function¤¬nil°Ê³°¤Ç¤¢¤ì¤Ð¡¢ ¤½¤ì¤Ï´Ø¿ô¤Ç¤¢¤ë¤Ï¤º¤Ç¤¹¡£ read-event¤¬½¤¾þ¥Ó¥Ã¥È¤Î¤Ê¤¤¡ÊSPC¤ò´Þ¤à¡Ë°õ»úʸ»ú¤òÆÉ¤ß¼è¤ë¤È¡¢ °ú¿ô¤È¤·¤Æ¥¤¥Ù¥ó¥È¤òÅϤ·¤Æ¤½¤Î´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£

Variable: input-method-function

¤³¤ì¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢¤½¤ÎÃͤϸ½ºß¤ÎÆþÎÏÊý¼°´Ø¿ô¤ò»ØÄꤹ¤ë¡£

Ãí°Õ¡§ ¤³¤ÎÊÑ¿ô¤òlet¤Ç«Çû¤·¤Ê¤¤¤³¤È¡£ ¤³¤ÎÊÑ¿ô¤Ï¤·¤Ð¤·¤Ð¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ç¤¢¤ê¡¢ ÆþÎϤòÆÉ¤à¼þ°Ï¤Ç«Çû¤¹¤ë¤È¡ÊÆÉ¼Ô¤¬¤³¤ì¤ò¤â¤Ã¤È¤â«Çû¤·¤½¤¦¤Ê¤È¤³¤í¡Ë¡¢ Emacs¤¬ÆþÎϤòÂԤäƤ¤¤ë¤È¤­¤Ë¥Ð¥Ã¥Õ¥¡¤¬È󯱴ü¤ËÀÚ¤êÂØ¤ï¤ë¤È¡¢ ¸í¤Ã¤¿¥Ð¥Ã¥Õ¥¡¤ËÃͤòÉü¸µ¤·¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ë¡£

ÆþÎÏÊý¼°´Ø¿ô¤Ï¡¢ÆþÎϤȤ·¤Æ»È¤ï¤ì¤ë¥¤¥Ù¥ó¥È¤Î¥ê¥¹¥È¤òÊÖ¤¹¤Ù¤­¤Ç¤¹¡£ ¡Ê¥ê¥¹¥È¤¬nil¤Ç¤¢¤ë¤ÈÆþÎϤ¬¤Ê¤«¤Ã¤¿¤³¤È¤ò°ÕÌ£¤·¡¢ read-event¤ÏÊ̤Υ¤¥Ù¥ó¥È¤òÂԤġ£¡Ë ¤³¤ì¤é¤Î¥¤¥Ù¥ó¥È¤Ï¡¢ unread-command-eventsÆâ¤Î¥¤¥Ù¥ó¥È¤è¤ê¤Þ¤¨¤Ë½èÍý¤µ¤ì¤Þ¤¹¡£ ÆþÎÏÊý¼°´Ø¿ô¤¬ÊÖ¤·¤¿¥¤¥Ù¥ó¥È¤Ï¡¢¤½¤ì¤é¤¬½¤¾þ¥Ó¥Ã¥È¤¬¤Ê¤¤°õ»úʸ»ú¤Ç¤¢¤Ã¤Æ¤â¡¢ ÆþÎÏÊý¼°´Ø¿ô¤ËºÆÅÙÅϤµ¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£

ÆþÎÏÊý¼°´Ø¿ô¤¬read-event¤äread-key-sequence¤ò¸Æ¤Ó½Ð¤¹¤È¤­¤Ë¤Ï¡¢ input-method-function¤ònil¤Ë«Çû¤·¤Æ ºÆµ¢¸Æ¤Ó½Ð¤·¤òËɤ°¤Ù¤­¤Ç¤¹¡£

¥­¡¼Îó¤Î2ÈÖÌܰʹߤΥ¤¥Ù¥ó¥È¤òÆÉ¤à¤È¤­¤Ë¤Ï¡¢ÆþÎÏÊý¼°´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¤Þ¤»¤ó¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¤½¤ì¤é¤Îʸ»ú¤Ï¡¢ÆþÎÏÊý¼°½èÍý¤ÎÂоݤǤϤ¢¤ê¤Þ¤»¤ó¡£ ÆþÎÏÊý¼°¤Î½èÍý¤Ç¤Ï¡¢ overriding-local-map¤Èoverriding-terminal-local-map¤ÎÃͤò ¸¡ºº¤¹¤ë¤Î¤¬¤è¤¤¤Ç¤¹¡£ ¤³¤ì¤é¤ÎÊÑ¿ô¤Î¤¤¤º¤ì¤«¤¬nil°Ê³°¤Ç¤¢¤ë¤È¤­¤Ë¤Ï¡¢ ÆþÎÏÊý¼°¤Ç¤Ï¤½¤Î°ú¿ô¤ò¥ê¥¹¥È¤ËÆþ¤ì¡¢ ¤½¤ì°Ê¾å½èÍý¤»¤º¤Ë¤½¤Î¥ê¥¹¥È¤òÊÖ¤¹¤Ù¤­¤Ç¤¹¡£