GEC6818开发板触摸屏---点击屏幕获取触摸屏坐标

简介: GEC6818开发板触摸屏---点击屏幕获取触摸屏坐标

(/usr/include/linux/input.h)

触摸屏文件数据被封装在input.h文件中的input_event这个结构体中

#include "get_xy.h"
int getxy()
{
    //1.打开触摸屏文件
    int fd = open(TS_PATH, O_RDWR);
    if (fd == -1)
    {
        perror("open failed!");
        return -1;
    }
    //2.读取触摸屏文件数据
    struct input_event xy;
  int x, y; //存放点击屏幕的横纵坐标
  int flag = 0; //记录当前获取坐标的信息
    while (1)
    {
        read(fd, &xy, sizeof(xy));
        if(xy.type == EV_ABS && xy.code == ABS_X)
        {
            x = xy.value*800/1024;//获取点击的时候X轴坐标的值 (0~1024)--> (0~800)
      flag = 1;
        }
    if(xy.type == EV_ABS && xy.code == ABS_Y)
        {
            y = xy.value*480/600; //获取点击的时候Y轴坐标的值 (0~600)-->(0~480)
      flag = 2;
        }
        //设置条件:每读取一次完整的坐标,就打印一次坐标
    if(flag == 2)
    {
      printf("(%d,%d)\n", x, y);
      flag = 0;
      break;//获取一次坐标就跳出循环
        }
    }
    //3.关闭触摸屏文件
  close(fd);
    return 0;
}

get_xy.h

#ifndef _GET_XY_H
#define _GET_XY_H

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <linux/input.h>  //输入子系统的头文件

#define TS_PATH "/dev/input/event0"
int getxy();

#endif
相关文章
|
1月前
|
流计算
LabVIEW开发LED滚动显示程序
LabVIEW开发LED滚动显示程序
21 2
|
1月前
|
编解码 Windows
LabVIEW前面板占满整个屏幕
LabVIEW前面板占满整个屏幕
19 0
|
9月前
|
图形学
|
Linux
day28-开发板触屏操作(2022.2.25)
day28-开发板触屏操作(2022.2.25)
191 0
不同的按键对应实现不同功能的灯闪烁
不同的按键对应实现不同功能的灯闪烁 功能介绍 程序解读 总结
179 0
不同的按键对应实现不同功能的灯闪烁
|
Python
树莓派使用 OLED 屏显示图片及文字
树莓派默认是不带显示屏的,如果想要查看系统的一些信息,需要使用电脑登录到树莓派,或者通过 HDMI 连接外接显示器查看。这样做总是有点麻烦,我们可以通过外接一个 OLED 屏来显示一些关键参数或者图片。本文将详细介绍操作方法。
506 0
树莓派使用 OLED 屏显示图片及文字
|
C# Windows
触摸屏:屏幕键盘(虚拟键盘)解决方案
原文:触摸屏:屏幕键盘(虚拟键盘)解决方案  最近需要在win XP系统的工控机上进行程序的开发,工控机是电阻式触摸屏,需要在上面使用触摸键盘,使工控机可以脱离鼠标和键盘独立运行程序。调研后得到一系列的解决方案,mark如下: (1)自己在程序中开发虚拟键盘 这个是最先想到的,本人用C#进行开发,所以只关注C#相关的虚拟键盘开发。
2399 0
手机屏幕左下角显示Fastboot mode是什么情况?
刚给老婆买了一个多月的魅蓝NOTE,几天前开不了机,黑屏但左下角显示:Fastboot mode……。无论按电源键还是电源键加音量加键进行重置都没有任何作用,关后自己会重启黑屏左下角显示Fastboot mode……。
|
移动开发 JavaScript 编解码