/* input-gui.c -- gui-based input method module.
- Copyright (C) 2003, 2004
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H15PRO112
You should have received a copy of the GNU Lesser General Public
License along with the m17n library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
02111-1307, USA. */
/***en
if (ic->im->language != Mnil)
mtext_put_prop (ic->preedit, 0, mtext_nchars (ic->preedit), Mlanguage,
ic->im->language);
- if (ic->candidate_list)
+ if (ic->candidate_list && ic->candidate_show)
mtext_push_prop (ic->preedit, ic->candidate_from, ic->candidate_to,
Mface, mface_reverse_video);
if (mtext_nchars (ic->produced) == 0)
}
else if (command == Minput_set_spot)
{
- minput__callback (ic, Minput_preedit_draw);
- minput__callback (ic, Minput_status_draw);
- minput__callback (ic, Minput_candidates_draw);
+ minput_callback (ic, Minput_preedit_draw);
+ minput_callback (ic, Minput_status_draw);
+ minput_callback (ic, Minput_candidates_draw);
}
else if (command == Minput_toggle)
{
if (ic->active)
{
- minput__callback (ic, Minput_preedit_done);
- minput__callback (ic, Minput_status_done);
- minput__callback (ic, Minput_candidates_done);
+ minput_callback (ic, Minput_preedit_done);
+ minput_callback (ic, Minput_status_done);
+ minput_callback (ic, Minput_candidates_done);
}
else
{
- minput__callback (ic, Minput_preedit_start);
- minput__callback (ic, Minput_status_start);
- minput__callback (ic, Minput_candidates_start);
+ minput_callback (ic, Minput_preedit_start);
+ minput_callback (ic, Minput_status_start);
+ minput_callback (ic, Minput_candidates_start);
}
}
else if (command == Minput_preedit_start)
if (minput_default_driver.callback_list
&& (func = ((MInputCallbackFunc)
- mplist_get (minput_default_driver.callback_list,
- Minput_reset))))
+ mplist_get_func (minput_default_driver.callback_list,
+ Minput_reset))))
{
MInputContextInfo *ic_info
= (MInputContextInfo *) win_ic_info->ic_info;
ic->info = win_ic_info;
}
if (ic->preedit_changed)
- minput__callback (ic, Minput_preedit_draw);
+ minput_callback (ic, Minput_preedit_draw);
if (ic->status_changed)
- minput__callback (ic, Minput_status_draw);
+ minput_callback (ic, Minput_status_draw);
if (ic->candidates_changed)
- minput__callback (ic, Minput_candidates_draw);
+ minput_callback (ic, Minput_candidates_draw);
}
}
MPlist *plist = mplist ();
minput_gui_driver.callback_list = plist;
- plist = mplist_add (plist, Minput_preedit_start, (void *) win_callback);
- plist = mplist_add (plist, Minput_preedit_draw, (void *) win_callback);
- plist = mplist_add (plist, Minput_preedit_done, (void *) win_callback);
- plist = mplist_add (plist, Minput_status_start, (void *) win_callback);
- plist = mplist_add (plist, Minput_status_draw, (void *) win_callback);
- plist = mplist_add (plist, Minput_status_done, (void *) win_callback);
- plist = mplist_add (plist, Minput_candidates_start, (void *) win_callback);
- plist = mplist_add (plist, Minput_candidates_draw, (void *) win_callback);
- plist = mplist_add (plist, Minput_candidates_done, (void *) win_callback);
- plist = mplist_add (plist, Minput_set_spot, (void *) win_callback);
- plist = mplist_add (plist, Minput_toggle, (void *) win_callback);
- plist = mplist_add (plist, Minput_reset, (void *) win_callback);
+ mplist_put_func (plist, Minput_preedit_start, M17N_FUNC (win_callback));
+ mplist_put_func (plist, Minput_preedit_draw, M17N_FUNC (win_callback));
+ mplist_put_func (plist, Minput_preedit_done, M17N_FUNC (win_callback));
+ mplist_put_func (plist, Minput_status_start, M17N_FUNC (win_callback));
+ mplist_put_func (plist, Minput_status_draw, M17N_FUNC (win_callback));
+ mplist_put_func (plist, Minput_status_done, M17N_FUNC (win_callback));
+ mplist_put_func (plist, Minput_candidates_start, M17N_FUNC (win_callback));
+ mplist_put_func (plist, Minput_candidates_draw, M17N_FUNC (win_callback));
+ mplist_put_func (plist, Minput_candidates_done, M17N_FUNC (win_callback));
+ mplist_put_func (plist, Minput_set_spot, M17N_FUNC (win_callback));
+ mplist_put_func (plist, Minput_toggle, M17N_FUNC (win_callback));
+ mplist_put_func (plist, Minput_reset, M17N_FUNC (win_callback));
}
#if 0
/* This will make the caller of minput_method_open() pazzled. */
the byte is bitwise anded by 0x1F and the Control modifier is
cleared.
- If $EVENT still has modifiers, the name is preceded by "H-"
- (Hyper), "s-" (Super), "A-" (Alt), "M-" (Meta), "C-" (Control),
- and/or "S-" (Shift) in this order.
+ If $EVENT still has modifiers, the name is preceded by "S-"
+ (Shift), "C-" (Control), "M-" (Meta), "A-" (Alt), "G-" (AltGr),
+ "s-" (Super), and "H-" (Hyper) in this order.
For instance, if the keysym name is "a" and the event has Shift,
- Meta, and Hyper modifiers, the resulting name is "H-M-A".
+ Meta, and Hyper modifiers, the resulting name is "M-H-A".
At last, a symbol who has the name is returned. */
0x1F ¤È¤ò¥Ó¥Ã¥Èñ°Ì¤Ç and ±é»»¤·¡¢Control ¥â¥Ç¥£¥Õ¥¡¥¤¥¢¤Ï¼è¤ê½ü¤«¤ì¤ë¡£
¤½¤ì¤Ç¤â $EVENT ¤Ë¤Þ¤À¥â¥Ç¥£¥Õ¥¡¥¤¥¢¤¬¤¢¤ì¤Ð¡¢Ì¾Á°¤ÎÁ°¤Ë¤½¤ì¤¾¤ì
- "H-" (Hyper), "s-" (Super), "A-" (Alt), "M-" (Meta), "C-"
- (Control), "S-" (Shift) ¤¬¤³¤Î½çÈÖ¤ÇÉÕ¤¯¡£
+ "S-" (Shift), "C-" (Control), "M-" (Meta), "A-" (Alt), , "G-" (AltGr),
+ "s-" (Super), "H-" (Hyper)¤¬¤³¤Î½çÈÖ¤ÇÉÕ¤¯¡£
¤¿¤È¤¨¤Ð¡¢keysym ̾¤¬ "a" ¤Ç¥¤¥Ù¥ó¥È¤¬ Shift, Meta, and Hyper
- ¥â¥Ç¥£¥Õ¥¡¥¤¥¢¤ò»ý¤Æ¤Ð¡¢ÆÀ¤é¤ì¤ë̾Á°¤Ï "H-M-A" ¤Ç¤¢¤ë¡£
+ ¥â¥Ç¥£¥Õ¥¡¥¤¥¢¤ò»ý¤Æ¤Ð¡¢ÆÀ¤é¤ì¤ë̾Á°¤Ï "M-H-A" ¤Ç¤¢¤ë¡£
ºÇ¸å¤Ë¤½¤Î̾Á°¤ò»ý¤Ä¥·¥ó¥Ü¥ë¤òÊÖ¤¹¡£*/
return key;
name = msymbol_name (key);
- str = alloca (strlen (name) + 2 * 6 + 1);
+ str = alloca (strlen (name) + 2 * 8 + 1);
str[0] = '\0';
if (modifiers & MINPUT_KEY_SHIFT_MODIFIER)
strcat (str, "S-");
strcat (str, "M-");
if (modifiers & MINPUT_KEY_ALT_MODIFIER)
strcat (str, "A-");
+ if (modifiers & MINPUT_KEY_ALTGR_MODIFIER)
+ strcat (str, "G-");
if (modifiers & MINPUT_KEY_SUPER_MODIFIER)
strcat (str, "s-");
if (modifiers & MINPUT_KEY_HYPER_MODIFIER)