summaryrefslogtreecommitdiff
path: root/src/lib/efl/interfaces/efl_input_device.eo
blob: 8e8dd04fd6ae9ab1e7794edac77c4a173b4edc06 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
enum Efl.Input.Device.Class
{
   [[General type of input device.

     Legacy support since 1.8.

     @since 1.18
   ]]
   none,     [[Not a device.]]
   seat,     [[The user/seat (the user themselves).]]
   keyboard, [[A regular keyboard, numberpad or attached buttons.]]
   mouse,    [[A mouse, trackball or touchpad relative motion device.]]
   touch,    [[A touchscreen with fingers or stylus.]]
   pen,      [[A special pen device.]]
   wand,     [[A laser pointer, wii-style or "minority report" pointing device.]]
   gamepad,  [[A gamepad controller or joystick.]]
}

enum Efl.Input.Device.Sub_Class
{
   [[Specific type of input device.

     Legacy support since 1.8.

     @since 1.18
   ]]
   none,        [[Not a device.]]
   finger,      [[The normal flat of your finger.]]
   fingernail,  [[A fingernail.]]
   knuckle,     [[A Knuckle.]]
   palm,        [[The palm of a users hand.]]
   hand_size,   [[The side of your hand.]]
   hand_flat,   [[The flat of your hand.]]
   pen_tip,     [[The tip of a pen.]]
   trackpad,    [[A trackpad style mouse.]]
   trackpoint,  [[A trackpoint style mouse.]]
   trackball,   [[A trackball style mouse.]]
}


/* This represents Evas_Device */
/* FIXME: no children and no Evas */

class Efl.Input.Device (Efl.Object)
{
   [[Represents a pointing device, such as a touch finger, a pen or a mouse.

     @since 1.18
   ]]
   methods {
      /* FIXME: device_class makes compilation error because of class_get() */
      @property device_type {
         values {
            klass: Efl.Input.Device.Class; [[Input device class]]
         }
      }
      @property device_subtype {
         values {
            klass: Efl.Input.Device.Sub_Class; [[Input device sub-class]]
         }
      }
      @property source {
         values {
            src: Efl.Input.Device; [[Input device]]
         }
      }
      @property name {
         values {
            name: string; [[Input device name]]
         }
      }
      @property description {
         values {
            desc: string; [[Input device description]]
         }
      }
      @property parent {
         set {}
         get {}
         values {
            parent: Efl.Input.Device; [[Parent input device]]
         }
      }
   }
   implements {
      Efl.Object.constructor;
      Efl.Object.destructor;
   }
}