Exemple #1
0
        public static AndroidMetastate ConvertModifiers(ModifierKeys keyModifiers)
        {
            AndroidMetastate metastate = AndroidMetastate.AMETA_NONE;

            if (keyModifiers.HasFlag(ModifierKeys.Shift))
            {
                metastate |= AndroidMetastate.AMETA_SHIFT_ON;
            }

            if (keyModifiers.HasFlag(ModifierKeys.Control))
            {
                metastate |= AndroidMetastate.AMETA_CTRL_ON;
            }

            if (keyModifiers.HasFlag(ModifierKeys.Alt))
            {
                metastate |= AndroidMetastate.AMETA_ALT_ON;
            }

            return(metastate);
        }
Exemple #2
0
 /// <summary>
 /// 拼装键盘事件
 /// </summary>
 /// <param name="akeAction">事件类型</param>
 /// <param name="akeycode">键盘值</param>
 /// <param name="ametastate">辅助值</param>
 /// <returns></returns>
 public static byte[] Ass_KeyCode(AndroidKeyeventAction akeAction, AndroidKeycode akeycode, AndroidMetastate ametastate)
 {
     byte[] cmdBytes = new byte[10];
     //type
     cmdBytes[0] = (byte)control_msg_type.CMT_INJECT_KEYCODE;
     cmdBytes[1] = (byte)akeAction;
     byte[] akeyCodeBytes = BitConverter.GetBytes((int)akeycode);
     cmdBytes[2] = akeyCodeBytes[3];
     cmdBytes[3] = akeyCodeBytes[2];
     cmdBytes[4] = akeyCodeBytes[1];
     cmdBytes[5] = akeyCodeBytes[0];
     byte[] ametstateBytes = BitConverter.GetBytes((int)ametastate);
     cmdBytes[6] = ametstateBytes[3];
     cmdBytes[7] = ametstateBytes[2];
     cmdBytes[8] = ametstateBytes[1];
     cmdBytes[9] = ametstateBytes[0];
     return(cmdBytes);
 }