KDE、GNOME/Nautilus、OpenWindows、WINE 等等 —— 有很多 GUI 都使得用户可以简化对于 Linux 应用程序强大功能的访问和使用。我们在这里面可以添加哪些组件来使 Linux 更加稳健地进入消费设备领域呢?答案是触摸屏。使用触摸屏,Linux 程序就可以成为很多设备的控制器,例如数字录像机、类似 TiVo 的个人录像机、媒体中心、智能房屋系统或者烤面包机的控制界面。这种可能性是无穷无尽的。
触摸屏提供了很多单独的打包解决方案。这就像传统的 CRT 和最近几年出现的 LCD 一样。在某些情况中,触摸屏已经集成到显示单元中了。在另外一些情况中(本文讨论的就是这种情况),触摸屏是独立的单元,具有特定的尺寸和目的。
本文将简要介绍如何准备安装并配置 LCD(图像屏幕)、modeline(一个配置行,告诉服务器如何驱动监视器)、触摸屏(用作输入)。本文还列出了一些参考资料来回答在集成触摸屏时可能遇到的其他问题。
安装 LCD触摸屏只用作输入;因此,还需要一些东西来显示图像。除了显示用户界面以外,显示还用于进行校准,这可以通过以下两种方法实现:
- 简单一点的方法是从任何供应商获取一个 LCD 屏幕,并将它连接到 PC 系统上。只需要确保连接可以正确操作显卡,可以是直接连接,也可以通过一个适配器。
- 复杂一点儿的方法(也是在本文中介绍的方法)是获取一个 PSOne LCD,它的价格非常低。需要使用焊锡自己焊接一点线缆,如果按照这个修正方案(请参阅 )的提示,这并不是太困难。采用这种方法,并使用一个 PSOne LCD,这需要一个具有 CSYNC(复合同步)信号的显卡 —— 大部分 ATI 和 Matrox 显卡都具有这种信号。对于那些没有 CSYNC 信号的显卡来说,可以设计一个生成 CSYNC 信号的电路(请参阅 ),但是通常购买一个具有这种信号的显卡更加容易。
什么是触摸屏?触摸屏(touchscreen) 是一个显示终端,可以将一个显示设备同时作为输入设备使用,这样就不用使用键盘和鼠标作为输入设备与所显示的内容进行交互了。触摸屏面板通常有以下几种:
- 压敏(Pressure-sensitive,阻抗型)
- 电敏(Electrically-sensitive,电容型)
- 声敏(Acoustically-sensitive,SAW,表面声波型)
- 图敏(Photo-sensitive,红外型)
触摸屏最初是在 POS(销售终端)、ATM、PDA 以及其他信息设备上使用的,并正在重工业领域作为控制界面得到快速的应用,因为它们能够适应迅速发生变化的条件(例如装配流水线的条件)。由于这种接受程度,SoC(System on a Chip)和显示设备厂商已经开始在自己的产品中集成触摸屏;以前这种需求要由售后厂商来满足。
连接电源LCD 需要使用电源才能正常工作并点亮显示设备。就像 LCD 安装的情况一样,也有一种简单的方法和一种困难的方法:
- 简单的方法是购买一个 LCD,它可以根据需要插到墙上的插座或车载适配器上。插到墙上的插座上非常简单,这是由于 PC 也都需要墙上的电源插座。
- 困难的方法(也是我所选择的方法)是从 eBay 上购买一个车载电源适配器。它使用的是 12 伏的电压,这个电压也是在普通的计算机中通过电源提供的电压。我是按照 “Hooking up a Neon Light” 的提示简单地设计的,因为它们的功能是相同的(请参阅 )。在进行修改之后,它就可以直接插入到一个 PC 电源上了。同样,也需要焊接一点儿电路,但是这样最后就不需要使用另外一个墙上的插座了。
现在应该处理 modeline 了。
提醒:什么是 modeline?modeline 是配置文件中的一个配置行,它可以为服务器提供有关所连接的计算机显示器的信息,以及如何在指定的显示分辨率下对其进行驱动的信息。(最初在 XFree86 上是在 XF86Config 中。)现在,在很多 Linux/UNIX® 版本中,modeline 都不再需要了,因为服务器会在启动时根据各种参数来计算配置,例如:
- 服务器配置文件中的通用设置和直观设置
- 通过 EDID 查询获得的监视器性能参数
EDID(Extended Display Identification Data) 是一种 VESA 标准数据格式,其中包含有关监视器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串。这些信息保存在 display 节中,用来通过一个 DDC(Display Data Channel)与系统进行通信,这是在显示器和 PC 图形适配器之间进行的。最新版本的 EDID 可以在 CRT、LCD 以及将来的显示器类型中使用,这是因为 EDID 提供了几乎所有显示参数的通用描述。
一个 modeline 有 10 个参数,首先是一个指定分辨率的标签。第 2 个参数指定的是像素时钟频率(单位为 MHz)。下面是两组 4 个数字。第 1 组指定了 x 分辨率(宽度)以及相关参数;第 2 组指定的是 y 分辨率(高度)。另外,还可以添加其他参数作为选项来控制水平和垂直的同步值,还有一些选项可以控制隔行模式和双屏模式。
那么我们为什么还需要不辞辛苦地利用 modeline 呢?这通常是为了一些旧的不常用的设备,或者不能精细地进行调节的显示硬件,此时可能只好手工设定 modeline。 |