「LAPTOP/PROJECT-BD」- 创造属于自己的笔记本电脑 | 制造属于自己的笔记本电脑 | 打造专属笔记本电脑

问题描述

既然市面上的笔记本无法满足我们的需求,修改现有笔记本 逐渐成为该问题的解决方案。

解决方案

需求描述、制定方案、实现功能

需求描述

我们期望的功能如下:

1)笔记手写、绘制内容:该功能得益于触控屏幕,而且有些内容或笔记(数学公式)手写更加快捷;

绘制、手写的功能很丰富,包括索套、笔、尺子,网格,特殊图形(例如坐标系、形状等等);

针对该绘制手写功能,其要内嵌到笔记中,即直接在笔记页面上直接操作,而非弹出独立的窗口进行操作;

2)文本识别、公式识别:除了能够手写,还能将手写文字、手写公式转化为排版内容;

3)图像绘制(Math Assistant):在文字识别的基础上,能够自动绘制数学公式的图像;

4)插入空间:鉴于 OneNote 支持手写输入,而有时我们需要在两行之间插入内容,所以我们就需要插入空间功能,以在增加两行直接的空白区域;

我们常用的笔记软件是以行为单位进行编辑的,所以如果要在两行之间插入内容,那么直接通过回车换行即可,但是不需要面对该问题。但是,如果笔记软件支持手写,就需要考虑这个问题;

5)导入文件(File Printout):我们尝试该功能,通过其导入 PDF 文件,然后通过手写绘制进行笔记记录以及标注;

1)粘贴图片较小,并且无法调整默认尺寸;

2)复制粘贴多个图片是乱序的,需要通过插入图片功能进行保证多个图片的正确顺序;

3)图片是固定的,并且笔迹将绘制在图片上,移动图片将同步移动笔迹。

5)通过将图片设置为背景,能够实现图片的固定。但是却无法直接取消图片作为背景,只能通过 Undo 撤销来间接实现;

注 1:很多功能参考 OneNote 特性,并且按照我们期望中的需求进行改进;

制定方案

# 10/24/2023 实现 Handwriting 的思路:针对该手写功能,其在本质上仅是个辅以硬件的多功能绘图程序。所以,我们实现绘图程序硬件功能即可;

针对「绘图程序」部分:

鉴于我们并不具备绘图程序的开发经验,我们决定从现有项目中学习,然后编写 Zim 插件。

1)Create a Paint Application in Python using Tkinter

2)PyQt5 – Create Paint Application

但是,我们希望绘制功能直接内嵌到笔记中(而非弹窗并编辑),所以我们现在(10/27/2023)要学习 GTK+3 开发的绘图程序。

既然该类绘图程序是通过 GTK+3 开发,我们可以在此基础上直接对其进行修改并作为插件而集成到 Zim 中。

现在(10/27/2023),经过简单对比,我们选择 esrille/paint 程序,其功能比较丰富;

针对「硬件功能」部分:

我们直接购买现有的硬件设备(带有触摸功能的显示器,电容笔),然后对其进行改装,以集成到现有的笔记本上。毕竟自己设计和制作并不现实,我们能做的也只是利用现有的硬件资源进行改装和拼接。

我们的笔记本是 ThinkPad P15v 型号,左侧具有 Type C 接口,支持 Thunderbot 3 协议,所以能够供电。所以,我们会选择具有 Type C 接口的显示器(要与卖家确认,其通过单条 Type C 线能够实现供电和显示)。

实施方案

我们将分为两个阶段来实现该笔记本电脑:

第一期、原型机器(笔记手写+屏幕外接)=> 第 1 阶段、支持外接屏幕手写数学笔记

第二期、最终产品(屏幕集成+模块设计)=> 第 2 阶段、将屏幕集成到笔记本电脑中

划分两个阶段的主要原因在于:通过能够手写的笔电进行知识学习是我们的主要目的,如果花费过多时间在该笔电的探索上将违背我们原本的目标。