树莓派(Linux 系统)触摸屏翻转显示以及触摸翻转

树莓派(Linux 系统)触摸屏翻转显示以及触摸翻转,第1张

树莓派(Linux 系统)触摸翻转显示以及触摸翻转 问题:未使用的Pi官方屏幕,所以使用HDMI屏幕显示的时候,显示旋转的同时,触摸没有旋转 目的:旋转屏幕显示的同时,使得触摸也跟随旋转 *** 作总流程:     旋转90度 *** 作 翻转显示: 1.sudo nano /boot/config.txt 2.在文件末尾加入 display_rotate=0 display_rotate=1   //90° display_rotate=2   //180° display_rotate=3   //270° ctrl + o 保存文档 重启即可。 注:以下 *** 作皆为SSH *** 作,所以每条指令前都加了DISPLAY=:0,如果本机 *** 作删掉即可。 1.安装xinput sudo apt-get install xinput 2.列出所有输入设备信息 远程 *** 作时,使用xinput指令需要加入DISPLAY=:0 DISPLAY=:0 xinput --list 3.列出目标设备属性 DISPLAY=:0 xinput --list-props 7 4.旋转触摸的坐标轴 1)所以先交换x、y轴 DISPLAY=:0 xinput --set-prop '7' 'Evdev Axes Swap' 1 2)然后反转y轴 DISPLAY=:0 xinput --set-prop '7' 'Evdev Axis Inversion' 0 1 显示旋转修改之后需要重启。而触摸旋转不需要重启。 详细 *** 作方法:  1.安装xinput sudo apt-get install xinput 描述: xinput - utility to configure and test X input devices   xinput-用于配置和测试X输入设备的实用程序 xinput is a utility to list available input devices, xinput是一个实用程序,可以列出可用的输入设备、 query information about a device and change input device settings. 关于设备的查询信息和更改输入设备设置 2.列出所有输入设备信息 xinput --list 如果远程 *** 作记得在命令前加DISPLAY=:0 得到以下信息: pi@NTGAGE:~ $ DISPLAY=:0 xinput --list ⎡ Virtual core pointer                          id=2    [master pointer  (3)] ⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)] ⎜   ↳ Logitech USB Optical Mouse                id=6    [slave  pointer  (2)] ⎜   ↳ WaveShare WaveShare Touchscreen           id=7    [slave  pointer  (2)] ⎣ Virtual core keyboard                         id=3    [master keyboard (2)]     ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]     ↳ Logitech USB Keyboard                     id=8    [slave  keyboard (3)]     ↳ Logitech USB Keyboard                     id=9    [slave  keyboard (3)] 3.列出目标设备属性 由于所使用的触摸屏幕是微雪7寸屏幕,由以上信息可以得到微雪的触摸屏对应的ID为7 所以,接下来看这款输入设备的属性, pi@NTGAGE:~ $ DISPLAY=:0 xinput --list-props 7 Device 'WaveShare WaveShare Touchscreen':         Device Enabled (115):   1         Coordinate Transformation Matrix (116): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000         Device Accel Profile (240):     0         Device Accel Constant Deceleration (241):       1.000000         Device Accel Adaptive Deceleration (242):       1.000000         Device Accel Velocity Scaling (243):    10.000000         Device Product ID (244):        3823, 5         Device Node (245):      "/dev/input/event3"         Evdev Axis Inversion (246):     0, 0         Evdev Axis Calibration (247):   <no items>         Evdev Axes Swap (248):  0         Axis Labels (249):      "Abs MT Position X" (267), "Abs MT Position Y" (268), "Abs MT Pressure" (269), "None" (0), "None" (0), "None" (0)         Button Labels (250):    "Button Unknown" (233), "Button Unknown" (233), "Button Unknown" (233), "Button Wheel Up" (121), "Button Wheel Down" (122)         Evdev Scrolling Distance (251): 0, 0, 0         Evdev Middle Button Emulation (252):    0         Evdev Middle Button Timeout (253):      50         Evdev Third Button Emulation (254):     0         Evdev Third Button Emulation Timeout (255):     1000         Evdev Third Button Emulation Button (256):      3         Evdev Third Button Emulation Threshold (257):   20         Evdev Wheel Emulation (258):    0         Evdev Wheel Emulation Axes (259):       0, 0, 4, 5         Evdev Wheel Emulation Inertia (260):    10         Evdev Wheel Emulation Timeout (261):    200         Evdev Wheel Emulation Button (262):     4         Evdev Drag Lock Buttons (263):  0 这块屏幕正常显示和触摸的信息如上。 如果执行到这一步,发现并没有以上的Evdev等属性项,请跳转第2种方法。 现在需要达到的目的是在屏幕显示反转的同时,使得触摸也随显示翻转。 屏幕显示为翻转90度。/boot/config.txt设置为display_rotate=1 上述信息中Evdev Axis Inversion 项是每条轴的旋转设置项,后面第一个参数是x,第二个参数是y. Evdev Axes Swap项对应的是两条轴的交换。 0为不翻转,1为翻转  例如。x轴原本是朝向右的,当把Evdev Axis Inversion的第一个参数 设置为1,即x轴朝向左。 4.旋转触摸的坐标轴 现在目的是要触摸旋转90度,从坐标轴理解: 即目的x轴正向为初始y轴的反向。目的y轴的正方向为初始x轴的正向。 1)所以先交换x、y轴 DISPLAY=:0 xinput --set-prop '7' 'Evdev Axes Swap' 1 2)然后反转y轴 DISPLAY=:0 xinput --set-prop '7' 'Evdev Axis Inversion' 0 1 这样即可完成触摸旋转90度。若要旋转其他角度,推理一下即可。 显示旋转修改之后需要重启。而触摸旋转不需要重启。 第二种方法 如果查询到的信息如下 DISPLAY=:0 xinput --list-props 6 Device 'WaveShare WaveShare Touchscreen':         Device Enabled (114):   1         Coordinate Transformation Matrix (115): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000         libinput Calibration Matrix (246):      0.000000, 1.000000, 0.000000, -1.000000, 0.000000, 1.000000, 0.000000, 0.000000, 1.000000         libinput Calibration Matrix Default (247):      1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000         libinput Send Events Modes Available (248):     1, 0         libinput Send Events Mode Enabled (249):        0, 0         libinput Send Events Mode Enabled Default (250):        0, 0         Device Node (251):      "/dev/input/event0"         Device Product ID (252):        3823, 5 可以看到该驱动方式采用的是libinput, 查看/usr/share/X11/xorg.conf.d/目录下是否有40-libinput.conf这个文件。 无 则需要安装  sudo apt-get install xserver-xorg-input-libinput  下一步安装完成后ls一下,就可以看到在/usr/share/X11/xorg.conf.d/目录下存在该文件, 下一步复制该文件到/etc/X11/xorg.conf.d/目录下。 一开始xorg.conf.d这个目录在/etc/X11可能没有,需要自己创建。 sudo mkdir xorg.conf.d 下一步复制到xorg.conf.d 目录下即可。 sudo cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/ 下一步进入/etc/X11/xorg.conf.d/目录下修改40-libinput.conf 文件 cd /etc/X11/xorg.conf.d/ sudo nano 40-libinput.conf 找到touchscreen section Section "InputClass"         Identifier "libinput touchscreen catchall"         MatchIsTouchscreen "on"         MatchDevicePath "/dev/input/event*"         Driver "libinput" EndSection 添加一行  Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1  结果为 Section "InputClass"         Identifier "libinput touchscreen catchall"         Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1         MatchIsTouchscreen "on"         MatchDevicePath "/dev/input/event*"         Driver "libinput"EndSection然后重启生效 这样的修改也是同样修改为翻转90度,如果需要修改为其他角度,请参考libinput的算法  https://wayland.freedesktop.org/libinput/doc/latest/absolute_axes.html

对于开发板,我玩过很多,感觉没什么太大区别,对于初学者,资料要详细,一般都是交怎么玩,只要学会怎么烧写uboot、内核,怎么编译uboot、内核,怎么搭建开发环境,一般会给交叉编译工具链,uboot Linux内核 qt库等源码包,他们都是编译过得,按照步骤来,都完成了,剩下的路就要看自己的了,如果是应用程序开发,不用太管硬件和驱动方向,和Windows上面编程差不多,如果你是玩硬件的,学学linux驱动开发,linux系统移植,这些方面手册一般都没有,需要论坛上面找或者相关书籍,我用过ARM9(天嵌的),A8(友善之臂的),H3(友善的),感觉下来,基础资料都差不多,都能教你基本 *** 作,具体选什么方向,还得看自己

一技在手天下我有!如您觉得本文对您有用烦请收藏转发加关注哟~笔芯

被誉为 “世界上最流行最便宜的小型电脑” 的「树莓派」 Raspberry Pi 是一款性价比超高的迷你电脑主机 (仅有xyk大小),深受全球开发者、极客、技术爱好者们的追捧和喜爱。

树莓派可以安装多种 Linux 系统发行版 (官方为 Debian 的衍生版),可当服务器搭建各种网站、应用服务来使用,也能用来学习编程、控制硬件或日常办公。由于树莓派的体积很小很轻,并且功能极其丰富强大,这也使得它的应用范围和潜力几乎是无限的……

树莓派 4 代正式发布,性能大幅飙升!

如今 Raspberry Pi 4 「树莓派 4 代」终于正式发布了!!官方定价依然是 $35 美元起不变,但整体性能相比 3 代要提升了三倍之多!多媒体性能为四倍,即使同时外接两台 4K 显示器双屏工作也毫无鸭梨。这么小的体积加上如此强劲的性能,这将是一款再次改变行业规则的产品。

而且除了 Linux 外,树莓派还能运行「免费的 Win 10 物联网版系统」!无论是学习、办公、编程、搭建智能家居、工控设备、还是用于特定的工作场景,树莓派都是最理想的小型电脑。也是每一个喜欢折腾电脑、折腾数码、折腾程序的朋友的必备玩物。

树莓派四代 (Raspberry Pi 4 Model B) 在硬件方面迎来了巨大的升级!首次搭载了 4GB 的内存 (1G / 2G / 4G 可选),并且引入 USB 3.0 接口,同时支持双屏 4K 输出和 H.265 硬件解码;处理器搭载了博通 1.5GHz 的四核 ARM Cortex-A72 处理器,性能提升可谓是质的飞跃。

接口方面,树莓派 4 支持双频无线 Wi-Fi (802.11ac)、搭载蓝牙 5.0,提供两个 Micro HDMI 2.0 视频输出接口,支持 4K 60FPS;内置千兆以太网口 (支持 PoE 供电)、MIPI DSI接口、MIPI CSI 相机接口、立体声耳机接口、2 个 USB 3.0 和 2 个 USB 2.0,扩展接口则依然是 40 针的 GPIO。供电方面也改成了 5V/3A 的 USB-C 接口供电, 升级可以说是全方位的

新的 树莓派 几乎可兼容所有以往创建的树莓派项目、配件和应用。同时,其40针扩展 GPIO 接口使其能够添加更多传感器、连接器及扩展板或智能设备,前26针引脚与A型板和B型板保持一致,可 100% 向后兼容,无需担心软硬件和配件的生态问题。

树莓派官方提供了 Raspbian *** 作系统,一款基于 Debian 优化修改而来的 Linux 发行版,也是最常用的一个版本,专为树莓派而生,通用性强。

此外,你也能在官网下载到 Ubuntu 类或其他诸如专为播放高清电影而生的 OSMC、LibreELEC 等各种版本的系统,如下:

你几乎完全可以将树莓派 4 当做一台完整的台式电脑甚至是专业的服务器来使用,而得益于性能的大幅提升,本次升级后,树莓派的应用范围将会又得到了全方位的扩展。

点击开始播放视频

如果你的工作大多可以在 Linux 下完成的话,比如开发,或者用 WPS for Linux 写文档、上网、收发邮件等,那么直接将树莓派随身携带,上下班通勤或出差时,也许会比带一个笨重的笔记本要轻松方便得多。

除了 Linux 之外,微软也已经跟树莓派基金会达成合作以确保 Windows 10 可以适配树莓派新款产品,如今完美适配树莓派 2 / 3 代的 Windows 10 IoT core 物联网核心版 系统已经「免费」提供给用户下载。截稿为止,4 代似乎还未适配。

下载 Win10 IoT 物联网系统 for 树莓派

起初,树莓派是为鼓励孩子们学习编程和计算机知识而推出的奇趣硬件。但如今,除了教育领域,树莓派在硬件编程、智能家居、极客和计算机技术爱好者中的受欢迎程度完全超出想象。

随着新版本硬件性能的提升,以及全球极其大量玩家们的青睐,树莓派的玩法和实用性已经丰富到无法统计的地步了。直接当办公电脑使用、丢在家里当 NAS、离线下载、做代理服务器、VP那个N、搭建个人网站、私有网盘、搭建智能家居中枢、小型影音播放机,使用各种开源 Linux 程序给局域网提供服务等都是非常常见的用途。

总之,树莓派不仅会为 学习编程 带来更好的体验;给专业人士带来更强大高效稳定的硬件平台;对于爱好者们,新的树莓派也提供了更大的发挥空间——因为它完全就能一台性能充足的台式电脑那样,可以做到几乎任何事情!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7539056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存