~onboard/virtkey/0.60

« back to all changes in this revision

Viewing changes to python-virtkey.c

  • Committer: Chris Jones
  • Date: 2008-02-13 23:33:25 UTC
  • Revision ID: tortoise@tortuga-20080213233325-yoypbpu9dz91novo
Added keycode methods

Show diffs side-by-side

added added

removed removed

Lines of Context:
501
501
    PyDict_SetItemString(keyObject,"shape",shape);
502
502
    Py_DECREF(shape);                                   
503
503
       
 
504
    PyObject * keycodeOb = PyInt_FromLong(k);
 
505
    PyDict_SetItemString(keyObject, "keycode", keycodeOb);
 
506
    Py_DECREF(keycodeOb);
 
507
 
504
508
    PyObject * keyOb = PyInt_FromLong(keysym);
505
509
 
506
510
    PyDict_SetItemString(keyObject,"keysym", keyOb);
648
652
        if (out != 0)
649
653
        {
650
654
                                
651
 
                XTestFakeKeyEvent(cvirt->display, out, 
652
 
                press, CurrentTime);
 
655
                XTestFakeKeyEvent(cvirt->display, out, press, CurrentTime);
653
656
                XSync(cvirt->display, False);
654
657
                
655
658
        }else {
656
659
                PyErr_SetString(virtkey_error, "failed to get keycode");
 
660
        return NULL;
657
661
        }
658
662
        
659
663
        Py_INCREF(Py_None);
689
693
        return virtkey_send(cvirt, out, press);
690
694
}
691
695
 
 
696
static PyObject *
 
697
virtkey_release_keycode(PyObject *self, PyObject *args){
 
698
    return virtkey_send_keycode(self, args, False);
 
699
}
 
700
 
 
701
static PyObject *
 
702
virtkey_press_keycode(PyObject *self, PyObject *args){
 
703
    return virtkey_send_keycode(self, args, True);
 
704
}
 
705
 
 
706
static PyObject * 
 
707
virtkey_send_keycode(PyObject *self, PyObject *args, Bool press){
 
708
        virtkey * cvirt  = (virtkey *)self;
 
709
    long keycode;
 
710
 
 
711
        if(!PyArg_ParseTuple(args, "i", &keycode)){
 
712
        return NULL;
 
713
    }
 
714
 
 
715
    return virtkey_send(cvirt, keycode, press);
 
716
}
692
717
 
693
718
static PyObject * virtkey_latch_mod(PyObject * self,PyObject *args)
694
719
{
793
818
static PyObject * virtkey_press_keysym(PyObject * self,PyObject *args)
794
819
{
795
820
        return virtkey_send_keysym(self, args, True);
796
 
        
797
821
}
798
822
 
799
823
static PyObject * virtkey_release_keysym(PyObject * self,PyObject *args)
800
824
{
801
825
        return virtkey_send_keysym(self, args, False);
802
 
        
803
826
}
804
827
 
805
828
static PyObject * virtkey_press_unicode(PyObject * self,PyObject *args)
821
844
  {"release_unicode", virtkey_release_unicode, METH_VARARGS},
822
845
  {"press_keysym", virtkey_press_keysym, METH_VARARGS},
823
846
  {"release_keysym", virtkey_release_keysym, METH_VARARGS},
 
847
  {"press_keycode", virtkey_press_keycode, METH_VARARGS},
 
848
  {"release_keycode", virtkey_release_keycode, METH_VARARGS},
824
849
  {"latch_mod", virtkey_latch_mod, METH_VARARGS},
825
850
  {"lock_mod", virtkey_lock_mod, METH_VARARGS},
826
851
  {"unlatch_mod", virtkey_unlatch_mod, METH_VARARGS},