QT4.5文件系统的制作

注:本实验在天嵌的tq2440下的


      在你的文件系统的”opt/”目录下新建一个名为”qt-4.5/”的目录.

然后复制Linux上的”/opt/EmbedSky/qt-4.5/_install/arm/”目录下的”lib/”目录到前面建立的”qt-4.5/”目录下,然后进入到刚刚复制过来的”lib/”目录下,删掉除去fonts/”目录和”*.so*”文件外的其他文件,然后在”fonts/”目录下删掉用不到的字库文件,具体删掉哪些字库请根据实际情况决定.

然后复制”/opt/Embedsky/qt-4.5/_install/arm/”目录下的”plugins/imageformats/”目录到前面建立的”qt-4.5”目录下.

然后在前面建立的”qt-4.5/”目录下建立一个名为”bin/”的目录,然后复制刚刚编译好的那些Qt4的测试程序,比如mainwindow”程序和”hello”等.

然后就是添加tslib的相关内容,添加方法可见下面的附录2.

修改文件系统的”etc/profile”文件(为了单独运行Qt程序而设置该文件),添加内容如下(红色部分所示);

export set HOME=/root

export set QTDIR=/opt/qt-4.5

export set QPEDIR=/opt/qt-4.5

export set QWS_DISPLAY="LinuxFB:/dev/fb0"

export set QWS_DISPLAY="LinuxFB:mmWidth130:mmHeight100:0"

export set QWS_KEYBOARD="TTY:/dev/tty1"

if [ -f /sys/devices/virtual/input/input0/uevent ] ; then

export set TSLIB_TSDEVICE=/dev/event0

export set TSLIB_CALIBFILE=/etc/pointercal

export set TSLIB_CONFFILE=/etc/ts.conf

export set TSLIB_PLUGINDIR=/lib/ts

export set QWS_MOUSE_PROTO="TSLIB:/dev/event0 Intellimouse:/dev/mouse0"

else

export set QWS_MOUSE_PROTO="Intellimouse:/dev/mouse0"

fi

export set QT_PLUGIN_PATH=$QTDIR/plugins/

export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/

export set PATH=$QPEDIR/bin:$PATH

export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/plugins/imageformats:$LD_LIBRARY_PATH

HOSTNAME=`/bin/hostname`

export USER LOGNAME PS1 PATH

修改文件系统的”etc/init.d/rcS”文件(为了开机自动运行Qt程序),添加内容如下(红色部分所示)

qt4 &

/bin/hostname –F /etc/sysconfig/HOSTNAME

在文件系统的”bin/”目录下新建一个名为”qt4”的可执行脚本(注意设置其权限为可执行),内容如下:

#!/bin/sh

echo Start Qt-4.5 > /dev/tq2440_serial0

export set HOME=/root

export set QTDIR=/opt/qt-4.5

export set QPEDIR=/opt/qt-4.5

export set QWS_DISPLAY="LinuxFB:/dev/fb0"

export set QWS_DISPLAY="LinuxFB:mmWidth130:mmHeight100:0"

export set QWS_KEYBOARD="TTY:/dev/tty1"

if [ -f /sys/devices/virtual/input/input0/uevent ] ; then

export set TSLIB_TSDEVICE=/dev/event0

export set TSLIB_CALIBFILE=/etc/pointercal

export set TSLIB_CONFFILE=/etc/ts.conf

export set TSLIB_PLUGINDIR=/lib/ts

export set QWS_MOUSE_PROTO="TSLIB:/dev/event0 Intellimouse:/dev/mouse0"

else

export set QWS_MOUSE_PROTO="Intellimouse:/dev/mouse0"

if [ -f /etc/pointercal ] ; then

echo only use mouse >tq2440_serial0

else

echo "1 0 1 0 1 1 65536" >/etc/pointercal

fi

fi

export set QT_PLUGIN_PATH=$QTDIR/plugins/

export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/

export set PATH=$QPEDIR/bin:$PATH

export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/plugins/imageformats:$LD_LIBRARY_PATH

if [ -f /etc/pointercal ] ; then

$QPEDIR/bin/hello -qws 1> /dev/null 2>/dev/null

else

ts_calibrate

# $QPEDIR/bin/mousecalibration

$QPEDIR/bin/hello -qws 1> /dev/null 2>/dev/null

fi

上面脚本中”ts_calibrate”和”mousecalibration”这两条都可以用来触摸校正,一个是使用tslib的触摸校正软件,另外一个使用Qt4自带的触摸校正,这里选择使用tslib的触摸校正,所以在mousecalibration”前加了”#”号屏蔽该行,然后在开机自动运行hello”这个测试程序,如果您要运行其他程序请修改脚本中的hello qws”的hello内容即可.

向文件系统添加触摸校正所用的tslib的相关文件:

拷贝天嵌的文件系统原码中root_qt_4.5_2.6.30.4_2010.0601中的”sbin/”目录下的”ts_calibrate”文件到我们制作的文件系统的”sbin”目录下.

在文件系统的”etc”目录下,添加一个”ts.conf”文件,内容如下

# Uncomment if you wish to use the linux input layer event interface

module_raw input

# Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d

# module_raw collie

# Uncomment if you're using a Sharp Zaurus SL-C700/C750/C760/C860

# module_raw corgi

# Uncomment if you're using a device with a UCB1200/1300/1400 TS interface

# module_raw ucb1x00

# Uncomment if you're using an HP iPaq h3600 or similar

# module_raw h3600

# Uncomment if you're using a Hitachi Webpad

# module_raw mk712

# Uncomment if you're using an IBM Arctic II

# module_raw arctic2

module pthres pmin=1

module variance delta=30

module dejitter delta=100

module linear

拷贝天嵌文件系统原码中的”lib/”目录中的”ts/”目录到我们的文件系统的”lib/”目录下即可.



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值