]> err.no Git - linux-2.6/blobdiff - include/linux/input.h
Merge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerp...
[linux-2.6] / include / linux / input.h
index a7a1f55a5eedc1b9d9f339aa56442e512dd04fbe..bde65c8a351939ce5aa19fc7e85c511be1037e99 100644 (file)
@@ -349,6 +349,9 @@ struct input_absinfo {
 
 #define KEY_BATTERY            236
 
+#define KEY_BLUETOOTH          237
+#define KEY_WLAN               238
+
 #define KEY_UNKNOWN            240
 
 #define BTN_MISC               0x100
@@ -488,6 +491,21 @@ struct input_absinfo {
 #define KEY_DIGITS             0x19d
 #define KEY_TEEN               0x19e
 #define KEY_TWEN               0x19f
+#define KEY_VIDEOPHONE         0x1a0
+#define KEY_GAMES              0x1a1
+#define KEY_ZOOMIN             0x1a2
+#define KEY_ZOOMOUT            0x1a3
+#define KEY_ZOOMRESET          0x1a4
+#define KEY_WORDPROCESSOR      0x1a5
+#define KEY_EDITOR             0x1a6
+#define KEY_SPREADSHEET                0x1a7
+#define KEY_GRAPHICSEDITOR     0x1a8
+#define KEY_PRESENTATION       0x1a9
+#define KEY_DATABASE           0x1aa
+#define KEY_NEWS               0x1ab
+#define KEY_VOICEMAIL          0x1ac
+#define KEY_ADDRESSBOOK                0x1ad
+#define KEY_MESSENGER          0x1ae
 
 #define KEY_DEL_EOL            0x1c0
 #define KEY_DEL_EOS            0x1c1
@@ -645,6 +663,7 @@ struct input_absinfo {
 #define BUS_USB                        0x03
 #define BUS_HIL                        0x04
 #define BUS_BLUETOOTH          0x05
+#define BUS_VIRTUAL            0x06
 
 #define BUS_ISA                        0x10
 #define BUS_I8042              0x11
@@ -659,7 +678,7 @@ struct input_absinfo {
 #define BUS_GSC                        0x1A
 
 /*
- * Values describing the status of an effect
+ * Values describing the status of a force-feedback effect
  */
 #define FF_STATUS_STOPPED      0x00
 #define FF_STATUS_PLAYING      0x01
@@ -676,7 +695,7 @@ struct input_absinfo {
  */
 
 /**
- * struct ff_replay - defines scheduling of the effect
+ * struct ff_replay - defines scheduling of the force-feedback effect
  * @length: duration of the effect
  * @delay: delay before effect should start playing
  */
@@ -686,7 +705,7 @@ struct ff_replay {
 };
 
 /**
- * struct ff_trigger - defines what triggers the effect
+ * struct ff_trigger - defines what triggers the force-feedback effect
  * @button: number of the button triggering the effect
  * @interval: controls how soon the effect can be re-triggered
  */
@@ -696,7 +715,7 @@ struct ff_trigger {
 };
 
 /**
- * struct ff_envelope - generic effect envelope
+ * struct ff_envelope - generic force-feedback effect envelope
  * @attack_length: duration of the attack (ms)
  * @attack_level: level at the beginning of the attack
  * @fade_length: duration of fade (ms)
@@ -715,7 +734,7 @@ struct ff_envelope {
 };
 
 /**
- * struct ff_constant_effect - defines parameters of a constant effect
+ * struct ff_constant_effect - defines parameters of a constant force-feedback effect
  * @level: strength of the effect; may be negative
  * @envelope: envelope data
  */
@@ -725,7 +744,7 @@ struct ff_constant_effect {
 };
 
 /**
- * struct ff_ramp_effect - defines parameters of a ramp effect
+ * struct ff_ramp_effect - defines parameters of a ramp force-feedback effect
  * @start_level: beginning strength of the effect; may be negative
  * @end_level: final strength of the effect; may be negative
  * @envelope: envelope data
@@ -737,7 +756,7 @@ struct ff_ramp_effect {
 };
 
 /**
- * struct ff_condition_effect - defines a spring or friction effect
+ * struct ff_condition_effect - defines a spring or friction force-feedback effect
  * @right_saturation: maximum level when joystick moved all way to the right
  * @left_saturation: same for the left side
  * @right_coeff: controls how fast the force grows when the joystick moves
@@ -758,7 +777,7 @@ struct ff_condition_effect {
 };
 
 /**
- * struct ff_periodic_effect - defines parameters of a periodic effect
+ * struct ff_periodic_effect - defines parameters of a periodic force-feedback effect
  * @waveform: kind of the effect (wave)
  * @period: period of the wave (ms)
  * @magnitude: peak value
@@ -789,7 +808,7 @@ struct ff_periodic_effect {
 };
 
 /**
- * struct ff_rumble_effect - defines parameters of a periodic effect
+ * struct ff_rumble_effect - defines parameters of a periodic force-feedback effect
  * @strong_magnitude: magnitude of the heavy motor
  * @weak_magnitude: magnitude of the light one
  *
@@ -949,7 +968,6 @@ struct input_dev {
        unsigned int repeat_key;
        struct timer_list timer;
 
-       struct pt_regs *regs;
        int state;
 
        int sync;
@@ -978,9 +996,6 @@ struct input_dev {
        unsigned int users;
 
        struct class_device cdev;
-       struct device *dev;     /* will be removed soon */
-
-       int dynalloc;   /* temporarily */
 
        struct list_head        h_list;
        struct list_head        node;
@@ -1059,16 +1074,16 @@ struct input_handler {
        void *private;
 
        void (*event)(struct input_handle *handle, unsigned int type, unsigned int code, int value);
-       struct input_handle* (*connect)(struct input_handler *handler, struct input_dev *dev, struct input_device_id *id);
+       struct input_handle* (*connect)(struct input_handler *handler, struct input_dev *dev, const struct input_device_id *id);
        void (*disconnect)(struct input_handle *handle);
        void (*start)(struct input_handle *handle);
 
        const struct file_operations *fops;
        int minor;
-       char *name;
+       const char *name;
 
-       struct input_device_id *id_table;
-       struct input_device_id *blacklist;
+       const struct input_device_id *id_table;
+       const struct input_device_id *blacklist;
 
        struct list_head        h_list;
        struct list_head        node;
@@ -1079,7 +1094,7 @@ struct input_handle {
        void *private;
 
        int open;
-       char *name;
+       const char *name;
 
        struct input_dev *dev;
        struct input_handler *handler;
@@ -1093,12 +1108,6 @@ struct input_handle {
 #define to_handle(n) container_of(n,struct input_handle,d_node)
 #define to_handle_h(n) container_of(n,struct input_handle,h_node)
 
-static inline void init_input_dev(struct input_dev *dev)
-{
-       INIT_LIST_HEAD(&dev->h_list);
-       INIT_LIST_HEAD(&dev->node);
-}
-
 struct input_dev *input_allocate_device(void);
 void input_free_device(struct input_dev *dev);
 
@@ -1115,7 +1124,7 @@ static inline void input_put_device(struct input_dev *dev)
 int input_register_device(struct input_dev *);
 void input_unregister_device(struct input_dev *);
 
-void input_register_handler(struct input_handler *);
+int input_register_handler(struct input_handler *);
 void input_unregister_handler(struct input_handler *);
 
 int input_grab_device(struct input_handle *);
@@ -1154,15 +1163,9 @@ static inline void input_report_switch(struct input_dev *dev, unsigned int code,
        input_event(dev, EV_SW, code, !!value);
 }
 
-static inline void input_regs(struct input_dev *dev, struct pt_regs *regs)
-{
-       dev->regs = regs;
-}
-
 static inline void input_sync(struct input_dev *dev)
 {
        input_event(dev, EV_SYN, SYN_REPORT, 0);
-       dev->regs = NULL;
 }
 
 static inline void input_set_abs_params(struct input_dev *dev, int axis, int min, int max, int fuzz, int flat)