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); }
/// <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); }