亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gdkkeys-win32.c

?? linux下電話本所依賴的一些圖形庫
?? C
?? 第 1 頁 / 共 2 頁
字號:
		       * the next call to ToAsciiEx() with a different		       * key would try to combine with the dead key.		       */		      reset_after_dead (key_state);		      /* Use dead keysyms instead of "undead" ones */		      handle_dead (keysym, ksymp);		    }		  else if (k == 0)		    {		      /* Seems to be necessary to "reset" the keyboard layout		       * in this case, too. Otherwise problems on NT4.		       */		      reset_after_dead (key_state);		    }		  else		    {#if 0		      GDK_NOTE (EVENTS,				g_print ("%s returns %d "					 "for vk:%02x, sc:%02x%s%s\n",					 (G_WIN32_HAVE_WIDECHAR_API () ?					  "ToUnicodeEx" : "ToAsciiEx"),					 k, vk, scancode,					 (shift&0x1 ? " shift" : ""),					 (shift&0x2 ? " altgr" : "")));#endif		    }		}	      if (*ksymp == 0)		*ksymp = GDK_VoidSymbol;	    }	  key_state[vk] = 0;	  /* Check if keyboard has an AltGr key by checking if	   * the mapping with Control+Alt is different.	   */	  if (!_gdk_keyboard_has_altgr)	    if ((keysym_tab[vk*4 + 2] != GDK_VoidSymbol &&		 keysym_tab[vk*4] != keysym_tab[vk*4 + 2]) ||		(keysym_tab[vk*4 + 3] != GDK_VoidSymbol &&		 keysym_tab[vk*4 + 1] != keysym_tab[vk*4 + 3]))	      _gdk_keyboard_has_altgr = TRUE;	  	  if (!capslock_tested)	    {	      /* Can we use this virtual key to determine the CapsLock	       * key behaviour: CapsLock or ShiftLock? If it generates	       * keysyms for printable characters and has a shifted	       * keysym that isn't just the upperacase of the	       * unshifted keysym, check the behaviour of VK_CAPITAL.	       */	      if (g_unichar_isgraph (gdk_keyval_to_unicode (keysym_tab[vk*4 + 0])) &&		  keysym_tab[vk*4 + 1] != keysym_tab[vk*4 + 0] &&		  g_unichar_isgraph (gdk_keyval_to_unicode (keysym_tab[vk*4 + 1])) &&		  keysym_tab[vk*4 + 1] != gdk_keyval_to_upper (keysym_tab[vk*4 + 0]))		{		  guchar chars[2];		  		  capslock_tested = TRUE;		  		  key_state[VK_SHIFT] = 0;		  key_state[VK_CONTROL] = key_state[VK_MENU] = 0;		  key_state[VK_CAPITAL] = 1;		  if (ToAsciiEx (vk, scancode, key_state,				 (LPWORD) chars, 0, _gdk_input_locale) == 1)		    {		      if (chars[0] >= GDK_space &&			  chars[0] <= GDK_asciitilde &&			  chars[0] == keysym_tab[vk*4 + 1])			{			  /* CapsLock acts as ShiftLock */			  gdk_shift_modifiers |= GDK_LOCK_MASK;			}		    }		  key_state[VK_CAPITAL] = 0;		}    	    }	}    }  GDK_NOTE (EVENTS, print_keysym_tab ());} GdkKeymap*gdk_keymap_get_for_display (GdkDisplay *display){  g_return_val_if_fail (display == gdk_display_get_default (), NULL);  if (default_keymap == NULL)    default_keymap = g_object_new (gdk_keymap_get_type (), NULL);  return default_keymap;}PangoDirectiongdk_keymap_get_direction (GdkKeymap *keymap){  update_keymap ();  switch (PRIMARYLANGID (LOWORD ((DWORD) _gdk_input_locale)))    {    case LANG_HEBREW:    case LANG_ARABIC:#ifdef LANG_URDU    case LANG_URDU:#endif    case LANG_FARSI:      /* Others? */      return PANGO_DIRECTION_RTL;    default:      return PANGO_DIRECTION_LTR;    }}gbooleangdk_keymap_get_entries_for_keyval (GdkKeymap     *keymap,                                   guint          keyval,                                   GdkKeymapKey **keys,                                   gint          *n_keys){  GArray *retval;  g_return_val_if_fail (keymap == NULL || GDK_IS_KEYMAP (keymap), FALSE);  g_return_val_if_fail (keys != NULL, FALSE);  g_return_val_if_fail (n_keys != NULL, FALSE);  g_return_val_if_fail (keyval != 0, FALSE);    retval = g_array_new (FALSE, FALSE, sizeof (GdkKeymapKey));  /* Accept only the default keymap */  if (keymap == NULL || keymap == gdk_keymap_get_default ())    {      gint vk;            update_keymap ();      for (vk = 0; vk < 256; vk++)	{	  gint i;	  for (i = 0; i < 4; i++)	    {	      if (keysym_tab[vk*4+i] == keyval)		{		  GdkKeymapKey key;		  		  key.keycode = vk;		  		  /* 2 levels (normal, shift), two groups (normal, AltGr) */		  key.group = i / 2;		  key.level = i % 2;		  		  g_array_append_val (retval, key);		}	    }	}    }#ifdef G_ENABLE_DEBUG  if (_gdk_debug_flags & GDK_DEBUG_EVENTS)    {      gint i;      g_print ("gdk_keymap_get_entries_for_keyval: %#.04x (%s):",	       keyval, gdk_keyval_name (keyval));      for (i = 0; i < retval->len; i++)	{	  GdkKeymapKey *entry = (GdkKeymapKey *) retval->data + i;	  g_print ("  %#.02x %d %d", entry->keycode, entry->group, entry->level);	}      g_print ("\n");    }#endif  if (retval->len > 0)    {      *keys = (GdkKeymapKey*) retval->data;      *n_keys = retval->len;    }  else    {      *keys = NULL;      *n_keys = 0;    }        g_array_free (retval, retval->len > 0 ? FALSE : TRUE);  return *n_keys > 0;}gbooleangdk_keymap_get_entries_for_keycode (GdkKeymap     *keymap,                                    guint          hardware_keycode,                                    GdkKeymapKey **keys,                                    guint        **keyvals,                                    gint          *n_entries){  GArray *key_array;  GArray *keyval_array;  g_return_val_if_fail (keymap == NULL || GDK_IS_KEYMAP (keymap), FALSE);  g_return_val_if_fail (n_entries != NULL, FALSE);  if (hardware_keycode <= 0 ||      hardware_keycode >= 256)    {      if (keys)        *keys = NULL;      if (keyvals)        *keyvals = NULL;      *n_entries = 0;      return FALSE;    }    if (keys)    key_array = g_array_new (FALSE, FALSE, sizeof (GdkKeymapKey));  else    key_array = NULL;    if (keyvals)    keyval_array = g_array_new (FALSE, FALSE, sizeof (guint));  else    keyval_array = NULL;    /* Accept only the default keymap */  if (keymap == NULL || keymap == gdk_keymap_get_default ())    {      gint i;      update_keymap ();      for (i = 0; i < 4; i++)	{	  if (key_array)            {              GdkKeymapKey key;	                    key.keycode = hardware_keycode;                            key.group = i / 2;              key.level = i % 2;                            g_array_append_val (key_array, key);            }          if (keyval_array)            g_array_append_val (keyval_array, keysym_tab[hardware_keycode*4+i]);	}    }  if ((key_array && key_array->len > 0) ||      (keyval_array && keyval_array->len > 0))    {      if (keys)        *keys = (GdkKeymapKey*) key_array->data;      if (keyvals)        *keyvals = (guint*) keyval_array->data;      if (key_array)        *n_entries = key_array->len;      else        *n_entries = keyval_array->len;    }  else    {      if (keys)        *keys = NULL;      if (keyvals)        *keyvals = NULL;            *n_entries = 0;    }  if (key_array)    g_array_free (key_array, key_array->len > 0 ? FALSE : TRUE);  if (keyval_array)    g_array_free (keyval_array, keyval_array->len > 0 ? FALSE : TRUE);  return *n_entries > 0;}guintgdk_keymap_lookup_key (GdkKeymap          *keymap,                       const GdkKeymapKey *key){  guint sym;  g_return_val_if_fail (keymap == NULL || GDK_IS_KEYMAP (keymap), 0);  g_return_val_if_fail (key != NULL, 0);  g_return_val_if_fail (key->group < 4, 0);    /* Accept only the default keymap */  if (keymap != NULL && keymap != gdk_keymap_get_default ())    return 0;  update_keymap ();    if (key->keycode >= 256 ||      key->group < 0 || key->group >= 2 ||      key->level < 0 || key->level >= 2)    return 0;    sym = keysym_tab[key->keycode*4 + key->group*2 + key->level];    if (sym == GDK_VoidSymbol)    return 0;  else    return sym;}gbooleangdk_keymap_translate_keyboard_state (GdkKeymap       *keymap,                                     guint            hardware_keycode,                                     GdkModifierType  state,                                     gint             group,                                     guint           *keyval,                                     gint            *effective_group,                                     gint            *level,                                     GdkModifierType *consumed_modifiers){  guint tmp_keyval;  guint *keyvals;  gint shift_level;  gboolean ignore_shift = FALSE;  gboolean ignore_group = FALSE;        g_return_val_if_fail (keymap == NULL || GDK_IS_KEYMAP (keymap), FALSE);  g_return_val_if_fail (group < 4, FALSE);  #if 0  GDK_NOTE (EVENTS, g_print ("gdk_keymap_translate_keyboard_state: keycode=%#x state=%#x group=%d\n",			     hardware_keycode, state, group));#endif  if (keyval)    *keyval = 0;  if (effective_group)    *effective_group = 0;  if (level)    *level = 0;  if (consumed_modifiers)    *consumed_modifiers = 0;  /* Accept only the default keymap */  if (keymap != NULL && keymap != gdk_keymap_get_default ())    return FALSE;  if (hardware_keycode >= 256)    return FALSE;  if (group < 0 || group >= 2)    return FALSE;  update_keymap ();  keyvals = keysym_tab + hardware_keycode*4;  if ((state & GDK_LOCK_MASK) &&      (state & GDK_SHIFT_MASK) &&      ((gdk_shift_modifiers & GDK_LOCK_MASK) ||       (keyvals[group*2 + 1] == gdk_keyval_to_upper (keyvals[group*2 + 0]))))    /* Shift always disables ShiftLock. Shift disables CapsLock for     * keys with lowercase/uppercase letter pairs.     */    shift_level = 0;  else if (state & gdk_shift_modifiers)    shift_level = 1;  else    shift_level = 0;  /* Drop group and shift if there are no keysymbols on   * the key for those.   */  if (shift_level == 1 &&      keyvals[group*2 + 1] == GDK_VoidSymbol &&      keyvals[group*2] != GDK_VoidSymbol)    {      shift_level = 0;      ignore_shift = TRUE;    }  if (group == 1 &&      keyvals[2 + shift_level] == GDK_VoidSymbol &&      keyvals[0 + shift_level] != GDK_VoidSymbol)    {      group = 0;      ignore_group = TRUE;    }  if (keyvals[group *2 + shift_level] == GDK_VoidSymbol &&      keyvals[0 + 0] != GDK_VoidSymbol)    {      shift_level = 0;      group = 0;      ignore_group = TRUE;      ignore_shift = TRUE;    }  /* See whether the group and shift level actually mattered   * to know what to put in consumed_modifiers   */  if (keyvals[group*2 + 1] == GDK_VoidSymbol ||      keyvals[group*2 + 0] == keyvals[group*2 + 1])    ignore_shift = TRUE;  if (keyvals[2 + shift_level] == GDK_VoidSymbol ||      keyvals[0 + shift_level] == keyvals[2 + shift_level])    ignore_group = TRUE;  tmp_keyval = keyvals[group*2 + shift_level];  /* If a true CapsLock is toggled, and Shift is not down,   * and the shifted keysym is the uppercase of the unshifted,   * use it.   */  if (!(gdk_shift_modifiers & GDK_LOCK_MASK) &&      !(state & GDK_SHIFT_MASK) &&      (state & GDK_LOCK_MASK))    {      guint upper = gdk_keyval_to_upper (tmp_keyval);      if (upper == keyvals[group*2 + 1])	tmp_keyval = upper;    }  if (keyval)    *keyval = tmp_keyval;  if (effective_group)    *effective_group = group;  if (level)    *level = shift_level;  if (consumed_modifiers)    {      *consumed_modifiers =	(ignore_group ? 0 : GDK_MOD2_MASK) |	(ignore_shift ? 0 : (GDK_SHIFT_MASK|GDK_LOCK_MASK));    }				#if 0  GDK_NOTE (EVENTS, g_print ("...group=%d level=%d cmods=%#x keyval=%s\n",			     group, shift_level, tmp_modifiers, gdk_keyval_name (tmp_keyval)));#endif  return tmp_keyval != GDK_VoidSymbol;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品福利一区二区三区| 亚洲国产精品激情在线观看| 成人av在线网| 狠狠色丁香久久婷婷综| 视频一区在线播放| 午夜精品久久久久久久| 日韩在线a电影| 日韩福利电影在线| 亚洲6080在线| 青青国产91久久久久久| 久久精品国产免费| 国模冰冰炮一区二区| 国产精品亚洲一区二区三区妖精 | 亚洲私人影院在线观看| 国产精品视频一二三区 | 欧美性做爰猛烈叫床潮| 91美女视频网站| 欧美日韩亚洲综合在线| 欧美zozozo| 国产精品二区一区二区aⅴ污介绍| 国产精品九色蝌蚪自拍| 亚洲综合自拍偷拍| 五月激情综合婷婷| 韩国一区二区视频| 91丨国产丨九色丨pron| 欧美美女一区二区| 久久亚洲捆绑美女| 中文字幕日本乱码精品影院| 亚洲最新视频在线播放| 麻豆精品国产传媒mv男同| 精品一区二区三区的国产在线播放| 国产一区二区三区在线看麻豆| 波多野结衣精品在线| 欧美亚洲图片小说| 久久伊99综合婷婷久久伊| 亚洲欧美一区二区三区国产精品| 日日夜夜免费精品视频| 国产成人精品亚洲日本在线桃色| 一本大道综合伊人精品热热 | 中文字幕av在线一区二区三区| 亚洲婷婷综合久久一本伊一区| 亚洲成av人综合在线观看| 经典三级视频一区| 在线视频你懂得一区| 亚洲精品一区二区三区四区高清| 亚洲男同性恋视频| 精品亚洲欧美一区| 91国产免费看| 国产日韩欧美一区二区三区乱码| 亚洲最新视频在线观看| 成人午夜伦理影院| 日韩欧美视频一区| 亚洲一区二区三区在线| 成人丝袜高跟foot| 久久久亚洲精品一区二区三区| 亚洲最大成人综合| 99视频国产精品| 久久久久国产免费免费 | 国产伦精品一区二区三区视频青涩 | www.亚洲色图.com| 精品999久久久| 蜜芽一区二区三区| 欧美日韩国产另类不卡| 亚洲欧美另类久久久精品| 懂色av一区二区三区免费看| 日韩精品一区二区三区视频播放 | 伊人婷婷欧美激情| 成人三级伦理片| 久久久久97国产精华液好用吗| 日韩精品高清不卡| 欧美精品粉嫩高潮一区二区| 一区二区三区日韩欧美精品| 成人免费视频视频在线观看免费| 久久久久9999亚洲精品| 国产一区二区视频在线播放| 久久亚洲捆绑美女| 国产一区二区三区美女| 精品成人在线观看| 精品一区二区三区香蕉蜜桃| 精品久久人人做人人爽| 韩国精品主播一区二区在线观看 | 波多野结衣在线aⅴ中文字幕不卡| 久久综合九色综合久久久精品综合| 久久精品二区亚洲w码| 这里只有精品免费| 免费欧美日韩国产三级电影| 欧美成人精品1314www| 久热成人在线视频| 国产婷婷一区二区| 成人福利视频在线看| 中文字幕在线观看不卡| 欧美怡红院视频| 亚洲国产精品自拍| 日韩网站在线看片你懂的| 久久99精品久久久久久动态图| 久久精品一区蜜桃臀影院| 国产乱码精品1区2区3区| 国产精品久久久久久久久动漫| 91热门视频在线观看| 婷婷久久综合九色综合绿巨人 | 久久久久久久久伊人| 国产精品一区二区黑丝| 国产精品久久久久久久午夜片 | 99国产精品国产精品久久| 一级女性全黄久久生活片免费| 欧美日韩精品综合在线| 国内精品写真在线观看| 亚洲视频一区二区免费在线观看| 欧美性大战久久久久久久| 麻豆国产欧美日韩综合精品二区| 国产欧美一区二区三区在线看蜜臀| 色综合久久久久久久久久久| 青草国产精品久久久久久| 亚洲国产成人自拍| 在线电影一区二区三区| 丰满放荡岳乱妇91ww| 亚洲成av人片www| 国产日产欧美一区二区三区| 精品视频一区二区不卡| 国产精品一二三四五| 亚洲444eee在线观看| 国产农村妇女精品| 91精品国产欧美一区二区18| av电影在线观看一区| 日本午夜一本久久久综合| 1024国产精品| 国产午夜精品久久| 69p69国产精品| 色欧美88888久久久久久影院| 久久国产精品一区二区| 亚洲午夜激情网页| 日韩一区有码在线| 久久久不卡影院| 日韩区在线观看| 精品视频1区2区| 色综合久久精品| jizz一区二区| 国产不卡在线视频| 经典三级视频一区| 日韩高清一区在线| 五月激情综合色| 亚洲大片在线观看| 亚洲在线一区二区三区| 亚洲国产高清不卡| 国产欧美一区二区精品秋霞影院 | 精品一区二区三区影院在线午夜| 亚洲一区二区三区四区在线| 国产精品成人一区二区三区夜夜夜| 日韩免费观看高清完整版| 欧美亚洲国产bt| 欧美一a一片一级一片| 色婷婷综合久久久| 在线观看视频欧美| 91福利区一区二区三区| 色哟哟一区二区在线观看| 欧美在线视频不卡| 色综合久久中文综合久久牛| 色哟哟亚洲精品| 欧美视频中文字幕| 欧美日韩一区二区三区四区| 色婷婷av一区二区三区之一色屋| 91美女在线视频| 欧美性猛片xxxx免费看久爱| 欧美色成人综合| 欧美一区二区精美| 欧美精品一区二区久久婷婷 | 国产精品传媒在线| 亚洲男人的天堂在线aⅴ视频| 亚洲人成网站精品片在线观看| 亚洲精品少妇30p| 亚洲va欧美va人人爽午夜| 蜜臀va亚洲va欧美va天堂| 精品一区二区在线视频| 成人美女在线观看| 91黄色在线观看| 日韩天堂在线观看| 欧美激情一区不卡| 亚洲图片欧美色图| 久久99久久久久久久久久久| 国产酒店精品激情| 91麻豆精东视频| 欧美一区中文字幕| 国产欧美视频在线观看| 夜夜操天天操亚洲| 久久国产精品99精品国产| 成人黄色av电影| 制服丝袜激情欧洲亚洲| 久久久午夜电影| 亚洲成人综合视频| 国产精品99久久久久久久女警| 91影院在线观看| 2021国产精品久久精品| 亚洲精品自拍动漫在线| 久久成人综合网| 在线观看亚洲专区| 欧美国产成人精品| 日本美女一区二区三区| 波多野结衣在线一区| 在线播放中文一区| 综合色中文字幕|