예제 #1
0
파일: Keyboard.cs 프로젝트: 5263/spacenav
        public void InitKeyboard(Device p_Device, IHidDevice p_IHidDevice)
        {
            m_Device = p_Device;
            m_HidDeviceEvents_HidDataReceivedEventHandler = new EventHandler<HidDataReceivedEventArgs>(HidDataReceived);
            m_IHidDevice = p_IHidDevice;
            m_IHidDevice.DataReceived += m_HidDeviceEvents_HidDataReceivedEventHandler;

            m_Keys = 2;
            m_ProgrammableKeys = 0;

            #region Feature Report??
            //////////////////////////////////////////////
            // hier muss vom Aerion abgefragt werden, wieviele Tasten er hat
            // und der InitKeyboard entsprechend aufgerufen werden.
            // irgendwie so:
            // HidReport m_HIDFeatureReport = p_IHidDevice.ReadFeatureReport();
            /*
            try
            {
                byte[] buffer = {
                        p_HidDataReceivedEventArgs[1],
                        p_HidDataReceivedEventArgs[2],
                        p_HidDataReceivedEventArgs[3],
                        p_HidDataReceivedEventArgs[4],
                        p_HidDataReceivedEventArgs[5],
                        p_HidDataReceivedEventArgs[6],
                    };

                System.IO.MemoryStream stream = new System.IO.MemoryStream(buffer, 0, buffer.Length);
                System.IO.BinaryReader reader = new System.IO.BinaryReader(stream);

                m_keys = Convert.ToInt64(reader.ReadInt16());
                bool status = reader.ReadBoolean();

            }

            catch (Exception e)
            {
                Console.Out.WriteLine("Exception: {0}", e.GetType());
            }
            */
            #endregion

            m_KeyDownList = new BitArray(8, false);
            m_KeyNameList = new string[m_Keys];
            m_KeyLabelList = new string[m_Keys];
        }
예제 #2
0
파일: Keyboard.cs 프로젝트: 5263/spacenav
        /// <summary>
        /// Clean up managed and unmanged ressources by hand.
        /// </summary>
        /// <param name="Disposing"></param>
        protected void Dispose(bool Disposing)
        {
            if (!IsDisposed)
            {
                if (Disposing)
                {
                    //Clean Up managed resources
                    m_IHidDevice = null;
                    m_Device = null;

                    //Ensure we clean-up references to event
                    m_KeyUp = null;
                    m_KeyDown = null;
                }
                //Clean up unmanaged resources

            }
            IsDisposed = true;
        }
예제 #3
0
파일: Sensor.cs 프로젝트: GibeomGu/flow
 public void InitSensor(Device p_Device, IHidDevice p_IHidDevice)
 {
     m_Device = p_Device;
     m_HidDeviceEvents_HidDataReceivedEventHandler = new EventHandler<HidDataReceivedEventArgs>(HidDataReceived);
     m_IHidDevice = p_IHidDevice;
     m_IHidDevice.DataReceived += m_HidDeviceEvents_HidDataReceivedEventHandler;
 }