예제 #1
0
        private void VKeyPress(object sender, MouseEventArgs e)
        {
            Glass.GlassButton btn = (Glass.GlassButton)sender;
            if (btn.Enabled == false)
            {
                return;
            }
            if (btn.Text == "SHIFT")
            {
                shift = !shift;
                UpdateVisual();
            }
            else if (btn.Text == "ALT")
            {
                alt = !alt;
                UpdateVisual();
            }
            else if (btn.Text == "bspace")
            {
                iop.Income("delete");
                if (shift || alt)
                {
                    shift = false;
                    alt   = false;
                    UpdateVisual();
                }
            }
            else if (btn.Text.StartsWith("\u25cc\t\t"))
            {
                string dk = btn.Text.Substring(2).Trim();
                dk      = dk.Replace("[", "").Replace("]", "");
                dkstate = dk;
                UpdateVisual();
            }
            else
            {
                string chr = btn.Text.Replace("◌", "").Trim();
                foreach (string s in iop.CompatibilityDecompose(chr))
                {
                    iop.Income(s);
                }
                if (shift || alt || (dkstate != "none"))
                {
                    shift   = false;
                    alt     = false;
                    dkstate = "none";
                    UpdateVisual();
                }
            }
            Log l = new Log();

            l.write("VKPRESS: " + btn.Text);
            eventInitiated = true;
            //MyInput.Keyboard_Classes.Buffer bf = new MyInput.Keyboard_Classes.Buffer();
            //glassButton40.Text = bf.getBuffer();
        }
예제 #2
0
 internal bool KeyEvent(int nCode, IntPtr wParam, GlobalHook.KBDLLHOOKSTRUCT lParam, bool shift, bool gis)
 {
     if (active)
     {
         log.write("IO-IN: " + lParam.vkCode.ToString());
         if (kl != null)
         {
             if (nCode == 0x0d)
             {
                 SystemKeyEvent();
                 return(false);
             }
             return(iop.Income(lParam.vkCode, gis, shift, kl));
         }
         else
         {
             return(!imp.Income(lParam.vkCode));
         }
         return(true);
     }
     else
     {
         return(false);
     }
 }
예제 #3
0
 private void glassButton2_MouseUp(object sender, MouseEventArgs e)
 {
     iop.Income("delete");
 }