#devices #touch #screen #x11 #framebuffer #input #image

conifer

一个无需X11即可与触摸屏设备交互的库

2个不稳定版本

0.1.0 2020年9月1日
0.0.0 2020年8月24日

#715 in Unix API

MIT/Apache

37KB
719

🌲 Conifer

docs.rs docs

一个用于PinePhone、Raspberry Pi和其他触摸屏设备的简单帧缓冲游戏引擎。

  • 无需X11即可制作游戏!
  • 自动检测虚拟终端帧缓冲
  • 自动检测触摸屏输入
  • 在pinephone、raspbery pi、桌面系统上运行
  • 图像支持
  • 文本绘制
  • 精灵
  • 声音
  • Web Assembly支持
[dependencies]
conifer = "0.1"

开始之前

确保您的用户是videoinput组的成员

sudo addusr video richard 
sudo addusr input richard
# Logout and login

要激活一个未用于X11的虚拟终端,您通常可以通过输入以下命令来访问它

ctrl + alt + f2 # or f3,f4...

有时这只能从登录屏幕完成。

Hello World

use conifer::prelude::*;

fn main() {
    let white = color_from_rgb(255, 255, 255);
    run(move |canvas, event| {
        // if the user swiped, exit
        if let Event::Swipe(s) = event {
            // if the users finger released, exit
            if s.finished {
                return Ok(RunResponse::Exit);
            }
            // draw something where finger is
            for p in s.points {
                canvas.set_pixel(p.x as usize, p.y as usize, white);
            }
        }
        // let conifer know we want to push framebuffer pixels to screen
        Ok(RunResponse::Draw)
    })
    .expect("something went wrong")
}

许可证

该项目可以在以下任一许可证下获得授权

任选其一。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的任何贡献,只要有意提交给conifer,都将如上所述双重授权,没有任何额外的条款或条件。

依赖项

~7.5MB
~107K SLoC