<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>转烛空间</title>
	<atom:link href="http://wangliping.net/feed" rel="self" type="application/rss+xml" />
	<link>http://wangliping.net</link>
	<description>记录生活，学习技术</description>
	<lastBuildDate>Fri, 05 Mar 2010 07:49:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>apt-get install 111 connection refused</title>
		<link>http://wangliping.net/apt-get-install-111-connection-refused</link>
		<comments>http://wangliping.net/apt-get-install-111-connection-refused#comments</comments>
		<pubDate>Fri, 05 Mar 2010 07:47:00 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[编程技术]]></category>
		<category><![CDATA[apt apt-get install error proxy]]></category>

		<guid isPermaLink="false">http://wangliping.net/apt-get-install-111-connection-refused</guid>
		<description><![CDATA[在Ubuntu下，安装软件老是出这个错误，而且还能ping通，以往都没问题的，于是到处搜索，终于经过一点点的提示，解决了这个问题。

　　这个问题的出现，在网络正常的情况下，是由于代理设置的问题。一般内网用户都要通过代理出去，虽然你在通过Network Proxy设置了代理，还勾选了全部使用，但也不一定管用（很多时候是管用的）。用apt-get的时候，貌似还是要直连出去（以前其实不是这样的），这个时候就必须给apt-get设置代理了。你可以用grep –re http_proxy /etc发现apt需要代理，但是echo $http_proxy却没有设置，那问题就出来了，知道了问题，也容易解决了。]]></description>
			<content:encoded><![CDATA[<p>　　在Ubuntu下，安装软件老是出这个错误，而且还能ping通，以往都没问题的，于是到处搜索，终于经过一点点的提示，解决了这个问题。</p>
<p>　　这个问题的出现，在网络正常的情况下，是由于代理设置的问题。一般内网用户都要通过代理出去，虽然你在通过Network Proxy设置了代理，还勾选了全部使用，但也不一定管用（很多时候是管用的）。用apt-get的时候，貌似还是要直连出去（以前其实不是这样的），这个时候就必须给apt-get设置代理了。你可以用grep –re http_proxy /etc发现apt需要代理，但是echo $http_proxy却没有设置，那问题就出来了，知道了问题，也容易解决了。</p>
</p>
<p><span id="more-646"></span>
<p>　　设置代理的方法：</p>
<blockquote><p>export http_proxy=http://ip:port</p>
</blockquote>
<p>　　当然这个是临时用的，关机重启之后就没有了。记得设置了之后，要关闭终端，再开启另一个终端。</p>
<p>　　如果要设置永久性的，可以设置环境变量：</p>
<blockquote><p>vi $HOME/.bashrc</p>
</blockquote>
<p>　　在最后文件的最后可以添加</p>
<blockquote><p>http_proxy=http://ip:port</p>
<p>export http_proxy</p>
</blockquote>
<p>　　同样记得设置了之后，关闭终端，再开启另一个终端，然后去安装你的软件。</p>
<h3  class="related_post_title">随机日志</h3><ul class="related_post"><li><a href="http://wangliping.net/my_18_years_is_not_for_your_coffee_together" title="我奋斗了18年，不是为了和你一起喝咖啡（转）">我奋斗了18年，不是为了和你一起喝咖啡（转）</a></li><li><a href="http://wangliping.net/talk-btchina-close-verycd-hudbt" title="从BTChina关站想到Verycd和HUDBT">从BTChina关站想到Verycd和HUDBT</a></li><li><a href="http://wangliping.net/mojie_guzhi" title="【转载】有一种爱叫固执——摩羯座">【转载】有一种爱叫固执——摩羯座</a></li><li><a href="http://wangliping.net/2009-byhh-best-movies" title="2009白云黄鹤我最喜欢的电影">2009白云黄鹤我最喜欢的电影</a></li><li><a href="http://wangliping.net/movie-critic-confession-of-pain" title="【影评 伤城】坚持的《伤城》">【影评 伤城】坚持的《伤城》</a></li><li><a href="http://wangliping.net/android-x86-camrecord-and-opensource" title="Android-x86录像功能完善——兼谈开源">Android-x86录像功能完善——兼谈开源</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/apt-get-install-111-connection-refused/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>git-clone指定branch</title>
		<link>http://wangliping.net/git-clone-spec-branch</link>
		<comments>http://wangliping.net/git-clone-spec-branch#comments</comments>
		<pubDate>Thu, 04 Feb 2010 06:11:38 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[编程技术]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://wangliping.net/git-clone-spec-branch</guid>
		<description><![CDATA[有时git clone下来会出现很多branch，更麻烦的是如果主分支没代码那你就只能看到.git目录了。如下面的这个:

$ git clone git://gitorious.org/android-eeepc/mesa.git]]></description>
			<content:encoded><![CDATA[<p>（仅作备忘笔记）</p>
<p>　　有时git clone下来会出现很多branch，更麻烦的是如果主分支没代码那你就只能看到.git目录了。如下面的这个:</p>
<blockquote><p><code>$ git clone <a href="git://gitorious.org/android-eeepc/mesa.git">git://gitorious.org/android-eeepc/mesa.git</a></code></p>
</blockquote>
<p><span id="more-645"></span>
<p>　　发现本地就只有一个.git目录，那么这个时候就需要checkout了。</p>
<p>　　进入你的本地目录，如这个是mesa，利用</p>
<blockquote><p>$ git branch –r</p>
</blockquote>
<p>　　查看branch信息（当然你也可以用git show-branch查看，不过有时并不好用），获得如下branch信息：</p>
<blockquote><p>origin/android<br />origin/mesa-es<br />origin/mesa-es-dri </p>
</blockquote>
<p>　　此时我们需要的是android分支的代码，那么此时就要进行checkout了。<br />
<blockquote>
<p>$ git checkout origin/android</p>
</blockquote>
<p>　　你再看你的目录（mesa）下是不是有了代码了？其它的branch同理。</p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/git" title="Linux下git简单使用教程（以Android为例）">Linux下git简单使用教程（以Android为例）</a></li><li><a href="http://wangliping.net/android-x86-20-eclair-release" title="Android-x86-2.0-eclair出pub-test版了">Android-x86-2.0-eclair出pub-test版了</a></li><li><a href="http://wangliping.net/source-insight-see-source-code" title="Source-Insight-看大规模大工程源代码">Source-Insight-看大规模大工程源代码</a></li><li><a href="http://wangliping.net/eclair-virtuebox-boot" title="Eclair已经在VirtualBox上跑起来了">Eclair已经在VirtualBox上跑起来了</a></li><li><a href="http://wangliping.net/android-x86-camrecord-and-opensource" title="Android-x86录像功能完善——兼谈开源">Android-x86录像功能完善——兼谈开源</a></li><li><a href="http://wangliping.net/android-x86-begin-to-accept-donate" title="Android-x86项目开始接受捐款">Android-x86项目开始接受捐款</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/git-clone-spec-branch/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>春晚节目单曝光-王菲第10个登场</title>
		<link>http://wangliping.net/faye-cctv-chun-wan</link>
		<comments>http://wangliping.net/faye-cctv-chun-wan#comments</comments>
		<pubDate>Tue, 02 Feb 2010 11:29:42 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[美文欣赏]]></category>
		<category><![CDATA[cctv]]></category>
		<category><![CDATA[春晚]]></category>
		<category><![CDATA[王菲]]></category>

		<guid isPermaLink="false">http://wangliping.net/faye-cctv-chun-wan</guid>
		<description><![CDATA[腾讯娱乐讯 昨日，从央视春晚内部流传出一份节目单，节目单显示虎年春晚的主持人阵容已经确定，除了周涛、朱军、董卿、张泽群四位老熟人之外，此番的春晚舞台上增了新鲜血液，欧阳夏丹和任鲁豫将在春晚担任起念贺电的任务。另外，节目单显示王菲独唱的《传奇》排在第十位出场。]]></description>
			<content:encoded><![CDATA[<p>　　腾讯娱乐讯 昨日，从央视春晚内部流传出一份节目单，节目单显示虎年春晚的主持人阵容已经确定，除了周涛、朱军、董卿、张泽群四位老熟人之外，此番的春晚舞台上增了新鲜血液，欧阳夏丹和任鲁豫将在春晚担任起念贺电的任务。另外，节目单显示<strong>王菲独唱的《传奇》排在第十位出场</strong>。
</p>
<p><span id="more-640"></span>
<p>　　1月31日，央视春晚在中央电视台一号演播厅进行了整体节目的第一次联排，按照惯例，赵本山等大腕依然没有登场，而备受关注的天后王菲也没有出现在联排现场，但属于王菲的环节仍然照单进行。现场由一位男工作人员代替王菲上台，播放王菲演唱的李健旧作《传奇》，而且是单人独唱，没有和其他人合作，更不是“歌曲串烧”的形式。记者从工作人员处得知，由于王菲的节目只需要她一个人表演，所以王菲将只参加最后一轮彩排，也有可能不参加彩排，直接在12号录制春晚备播带。另外从节目单上显示的顺序来看，王菲的独唱被排在第十位出场。
<p>　　<strong>王菲《传奇》春晚第十个出场</strong>
<p>　　1月30日、31日连续两天，中央电视台虎年春晚在央视演播大厅进行了首次节目大连排。虽然没有明星大腕露面，但虎年春晚的主持阵容以及大部分节目却在此次连排中提前曝光。据现场传出的消息显示，今年春晚的主持阵容将有所调整，除了大家熟悉的周涛、董卿和朱军外，张泽群也将加入到主持人行列中，而此前从未在春晚露过面的欧阳夏丹和任鲁豫则将负责起“念贺电”的任务。&nbsp;
<p><a href="http://wangliping.net/wp-content/uploads/2010/02/NjY3MzY4Mixzd2FuZGxl1.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="NjY3MzY4Mixzd2FuZGxl[1]" border="0" alt="NjY3MzY4Mixzd2FuZGxl[1]" src="http://wangliping.net/wp-content/uploads/2010/02/NjY3MzY4Mixzd2FuZGxl1_thumb.jpg" width="173" height="244"></a>
<p><strong>　　主持看重身高： </strong>
<p><strong>　　欧阳夏丹、任鲁豫负责“念贺电”</strong>
<p>　　虽然李咏等名嘴曾明确表示过不希望再担任春晚主持人的工作，但对大多数央视主持人来说，能在春晚上露脸还是一件非常风光的事情。据春晚内部工作人员透露，春晚选主持人有很多标准，并不是伶牙俐齿就能上的。“选主持人名气是一方面，伶牙俐齿也是一方面，但光有这些还是不够的。”该工作人员对本报记者说道，“形体，春晚对主持人这方面的要求也很高，尤其是身高，达不到身高的要求，即使再有名气，再能说也没用。
<p>　　因为春晚的舞台那么大，主持人站在那儿就得压得住场。所以，为什么很多著名主持人都无缘春晚，因为在形体上达不到要求。” 针对今年春晚，日前一份名为“2010年春节联欢晚会节目流程单”的文件被媒体曝光，内容涵盖了节目出场顺序、节目时长、演职员名单等多方位信息。从这份流程单中，我们也发现了主持人的名字——周涛、董卿、朱军、张泽群负责主会场，欧阳夏丹、任鲁豫负责“念贺电”部分。为了核实内容的真实性，记者再次致电此前一直给本报报料的副导演，得到的答复是流程单内容属实。与此同时，记者还就此事询问了张泽群本人，虽然对方拒绝透露细节，但表示主持春晚其实是早就定下来的事情。
<p>　　<strong>大腕缺席联排：</strong>
<p>　　<strong>陈奕迅、谭晶唱《龙文》第六个出场 </strong>
<p>　　由于此次联排只是整个春晚流程的一次串场，目的是为了配合舞台、灯光等方面做进一步调整。因此几乎所有节目都是只派了工作人员前来，明星大腕一个也没有出现。不过，据副导演透露，从3日的第一次带妆彩排开始，明星们将陆续出席，直到9日的备播带录制。届时，王菲、小虎队、赵本山以及众多港台明星将会全部亮相。
<p>　　从曝光的流程单中，我们还发现了春晚直播时部分节目的出场顺序以及节目时长。其中，王菲的《传奇》被排在第10个节目，时间有4分07秒；第14个节目是刘谦的近景魔术，搭档依然是董卿；郭冬临的小品《一句话的事儿》被排在了第五个出场，时长16分06秒；陈奕迅、谭晶的歌曲《龙文》第6个出场；陈慧琳、容祖儿的歌曲《相亲相爱》第7个出场；冯巩的相声剧《不能让他走》第8个出场；郭达、蔡明的小品《家有毕业生》第16个出场。
<p>　　<strong>赵本山节目未定：</strong>
<p>　　<strong>或春晚用《捐助》辽宁台用《就差钱》</strong>
<p>　　此外，据记者从赵本山经纪人高大宽处了解到，赵本山已于昨日抵达北京，但至于春晚时到底是演《就差钱》还是《捐助》则还没有最后确定。“本山3日先要在北京台录制成龙电影《大兵小将》的首映礼，然后才会正式考虑春晚的事情。目前不排除央视春晚用《捐助》，辽宁台用《就差钱》的可能。”(南方报业网-南方都市报)<br />
<blockquote>
<p><strong>附：春晚节目单(以除夕当晚电视播出为准)</strong>
<p>1.开场歌舞《虎跃龙腾贺春来》
<p>2.群口相声《和谁说相声》演员：姜昆、戴志诚、赵津生
<p>3.歌舞《让我们舞起来》演员：宋祖英
<p>4.儿童魔幻剧《玩具店之夜》
<p>5.小品《一句话的事儿》演员：郭冬临、牛莉
<p>串场节目：倒背百家姓王仙妮
<p>6.歌曲《龙文》演员：谭晶、陈奕迅
<p>7.歌曲《相亲相爱》演员：容祖儿、孙楠、王力宏等
<p>8.相声剧《不能让他走》演员：冯巩、闫学晶、韩雪等
<p>串场节目：猜象棋周奇明
<p>9.武术舞蹈《对弈》演员：王亚彬等
<p><strong>10.歌曲《传奇》演员：王菲</strong>
<p>11.小品《我心飞翔》演员：殷桃、闫妮、刘敏、柴权、刘思言、陈维涵
<p>串场节目：道德模范海地英雄家属
<p>12.歌曲《祖国万岁》演员：韩磊等
<p>13.民族歌舞大串联《美好家园》《壮乡梅》《我和草原有个约会》《卓玛》《妹妹的山丹花儿开》《党的政策亚克西》
<p>14.近景魔术演员：刘谦
<p>15.歌曲联唱：《一亩田》、《婚礼上的歌》、《幸福的两口子》演员：汤潮、庞龙、吕薇等
<p>16.小品《家有毕业生》演员：蔡明、郭达等
<p>17.杂技《大蹬人》
<p>18.歌曲《拍拍拍》演员：蔡国庆、解小东等
<p>19.小品《两毛一脚》演员：黄宏、巩汉林
<p>20.舞蹈《美好2010》
<p>串场节目：上海世博会
<p>21.小品《五十块钱》演员：周锦堂、尹北琛等
<p>22.少数民族舞蹈《跳春》
<p>23.戏曲《红楼赞花》演员：袁慧琴、于魁智等
<p>24.歌曲《阳光路上》演员：阎维文
<p>25.小品《捐款》演员：赵本山、王小利、孙丽荣、苏小龙
<p>26.歌曲串烧《爱》《蝴蝶飞》《青苹果乐园》演员：小虎队
<p>27.经典老歌集锦《我们和祖国一起长大》《让我们荡起双桨》《快乐的节日》《春天在哪里》《在灿烂阳光下》演员：李谷一、蒋大为、胡松华、屠洪刚、刘和刚等
<p>28.歌曲《走向复兴》演员：戴玉强、殷秀梅
<p>零点敲钟
<p>29.歌曲《盛世欢歌》
<p>30.歌曲《幸福》演员：张也等
<p>31.相声《论捧逗》演员：贾玲、白凯南
<p>32.歌舞《歌舞青春——我要红》
<p>33.舞蹈《荷塘莲雨》
<p>34.相声《超级大卖场》演员：李伟建、武宾
<p>35.歌组合《彩云之南》《姑娘我爱你》《天蓝蓝》
<p>36.舞蹈《春天的芭蕾》
<p>37.结束曲《难忘今宵》</p>
</blockquote>
<p>原文来自：<a href="http://ent.qq.com/a/20100202/000100.htm">http://ent.qq.com/a/20100202/000100.htm</a></p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/three-points-about-cntv" title="中国网络电视台cntv开播的三大看点">中国网络电视台cntv开播的三大看点</a></li><li><a href="http://wangliping.net/forever_queen" title="【转载】永远的天后">【转载】永远的天后</a></li><li><a href="http://wangliping.net/love_from_faye" title="【转载】由王菲想到的爱情">【转载】由王菲想到的爱情</a></li><li><a href="http://wangliping.net/butterfly_faye" title="【转载】蝴蝶">【转载】蝴蝶</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/faye-cctv-chun-wan/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress绑定feedsky和feedburner</title>
		<link>http://wangliping.net/wordpress-feed-feedsky-feedburner</link>
		<comments>http://wangliping.net/wordpress-feed-feedsky-feedburner#comments</comments>
		<pubDate>Wed, 27 Jan 2010 08:09:57 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[实用好玩]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[feedburner]]></category>
		<category><![CDATA[feedsky]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://wangliping.net/wordpress-feed-feedsky-feedburner</guid>
		<description><![CDATA[今天把博客的feed弄了一下。虽然估计除了我自己，从来也没有人来订阅我的博客，但是弄弄总是好的吧，现在没有人订阅，谁知道哪天就有人订阅了呢？呵呵～

　　原来的订阅地址是http://wangliping.net/feed，其实用这个地址未尝不好，而且也基本不可能改变，不过变数谁知道呢？最重要的据说用第三方订阅可以统计订阅情况，那么为了稳定，当然是可以选择的了。选择的是feedsky，因为它是国内这个方面的佼佼者。当然这个其实我早就注册了，也添加进去了，只是今天翻了翻的时候，发现可以绑定域名，于是重新燃起了兴趣。后来才得知这个服务很早很早就提供了的，只是我才发现而已。]]></description>
			<content:encoded><![CDATA[<p>　　今天把博客的feed弄了一下。虽然估计除了我自己，从来也没有人来订阅我的博客，但是弄弄总是好的吧，现在没有人订阅，谁知道哪天就有人订阅了呢？呵呵～</p>
<p>　　原来的订阅地址是http://wangliping.net/feed，其实用这个地址未尝不好，而且也基本不可能改变，不过变数谁知道呢？最重要的据说用第三方订阅可以统计订阅情况，那么为了稳定，当然是可以选择的了。选择的是feedsky，因为它是国内这个方面的佼佼者。当然这个其实我早就注册了，也添加进去了，只是今天翻了翻的时候，发现可以绑定域名，于是重新燃起了兴趣。后来才得知这个服务很早很早就提供了的，只是我才发现而已。</p>
</p>
<p><span id="more-636"></span>
<p><a href="http://pimg.swodestatic.com/NjYzMjQxNCxzd2FuZGxl.jpg" target="_blank"><img style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" src="http://pimg.swodestatic.com/NjYzMjQxNCxzd2FuZGxl_medium.jpg" border="0"></a></p>
<p>　　于是开始折腾域名解析问题。由于用的是9host的域名代理商，这个代理商在CNAME上面很奇怪，而且还跟URL转发同一方法设置，以前用zzy的时候都很明了，9host就不一样了。譬如以前用zzy搞的Qmail的域名邮箱，很快搞定，但是昨天用9host搞就出问题了。搞这个CNAME也一样，出问题，feedsky一直提示我没有CNAME。直到后来才知道9host的CNAME设置的方法，很简单，别点到URL转发界面就好了（界面是一样的，入口不一样而已）。再后来等啊等啊，终于解析了，于是就将我的RSS订阅绑定到<a href="http://feed.wangliping.net">http://feed.wangliping.net</a>上去了。大家可以用这个地址订阅，呵呵～</p>
<p>　　又据说Google的Feedburner很强大，于是去注册了一个，当时绑定了几次都没绑定上，只是那个要绑定的域名很奇怪，还会更改，没办法，那就先用feedsky吧，反正feedburner被墙的可能性是非常非常大的。不过可以说说如何去绑定，首先就是去feedburner注册了，然后看浏览器的最上面一条，上面有一个“My Account”，点击进入，再然后在左侧点击My Brand，就可以进入设置绑定域名了。</p>
<p><a href="http://pimg.swodestatic.com/NjYzMjQxNyxzd2FuZGxl.jpg" target="_blank"><img style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" src="http://pimg.swodestatic.com/NjYzMjQxNyxzd2FuZGxl_medium.jpg" border="0"></a>&nbsp;</p>
<p>　　今天看自己的一篇博文时，发现一张图片显示不了，才知道是因为自己将这图片上传到flicker的缘故，看来flicker在国内访问很不稳定啊。只好找出备份的图片将其上传到swode上，然后更改地址，才得以正常显示。</p>
</p>
<p>　　当然做了上述之后，还有一个要做的就是将默认的feed地址改过来，譬如我的feed地址默认是http://wangliping.net/feed，那么我现在就要改为<a href="http://feed.wangliping.net">http://feed.wangliping.net</a>了。我用的是iNove的主题，要改的文件在Sliderbar.php里，有的主题貌似是在header.php里（其实你可以看你的RSS订阅图标在哪里就是在哪个文件里），这里就以iNove的为例。将sliderbar.php最前面一段给改成如下（其中那个地址就是你自己的地址了）：</p>
<blockquote><p>&lt;?php<br />&nbsp;&nbsp;&nbsp; $options = get_option('inove_options');
<p>&nbsp;&nbsp;&nbsp; if($options['feed'] &amp;&amp; $options['feed_url']) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (substr(strtoupper($options['feed_url']), 0, 7) == '<a href="HTTP://')">HTTP://')</a> {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $feed = '<a href="http://feed.wangliping.net';">http://feed.wangliping.net';</a><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $feed = '<a href="http://feed.wangliping.net';">http://feed.wangliping.net';</a><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; } else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $feed = '<a href="http://feed.wangliping.net';">http://feed.wangliping.net';</a><br />&nbsp;&nbsp;&nbsp; }<br />?&gt;</p>
</blockquote>
<p align="center"><strong>原创文章，如需转载请注明【</strong><a href="http://wangliping.net"><strong>转烛空间</strong></a><strong>】：</strong><a href="http://wangliping.net"><strong>http://wangliping.net</strong></a><strong> </strong>
<p align="center"><strong>本文地址：</strong><a href="http://wangliping.net/wordpress-feed-feedsky-feedburner" target="_blank"><strong>http://wangliping.net/wordpress-feed-feedsky-feedburner</strong></a></p>
<h3  class="related_post_title">随机日志</h3><ul class="related_post"><li><a href="http://wangliping.net/movie-critic-601-calls" title="【影评 第601个电话】一部制作精致的都市小品">【影评 第601个电话】一部制作精致的都市小品</a></li><li><a href="http://wangliping.net/tang-xiao-and-yang-lei-lane-left-the-super-girl" title="唐笑和阳蕾里离开了超级女声">唐笑和阳蕾里离开了超级女声</a></li><li><a href="http://wangliping.net/bmp_to_jpg" title="bmp转jpg的源码">bmp转jpg的源码</a></li><li><a href="http://wangliping.net/movie-critic-hours" title="【影评 时时刻刻】one day,one life">【影评 时时刻刻】one day,one life</a></li><li><a href="http://wangliping.net/movie-critic-tengu" title="【影评 天狗】影评">【影评 天狗】影评</a></li><li><a href="http://wangliping.net/7" title="【容融文学】连载（七）">【容融文学】连载（七）</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/wordpress-feed-feedsky-feedburner/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C语言查看和更改文件的权限</title>
		<link>http://wangliping.net/c-change-file-permission</link>
		<comments>http://wangliping.net/c-change-file-permission#comments</comments>
		<pubDate>Mon, 25 Jan 2010 08:55:44 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[编程技术]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[chmod]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[权限]]></category>

		<guid isPermaLink="false">http://wangliping.net/c-change-file-permission</guid>
		<description><![CDATA[有时候需要在程序里获得某个文件的权限信息，正如在Linux下用ls -l命令可以查看权限，那么在C语言中同样有函数可以实现这样的功能。]]></description>
			<content:encoded><![CDATA[<p>　　有时候需要在程序里获得某个文件的权限信息，正如在Linux下用ls -l命令可以查看权限，那么在C语言中同样有函数可以实现这样的功能。</p>
</p>
<p><span id="more-619"></span><br />
<blockquote>
<p>#include &lt;stdio.h&gt;<br />#include &lt;sys/stat.h&gt;
<p>void main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char *fileName = "/home/user/test/myfile";<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct stat fileInfo;
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (stat(fileName, &amp;fileInfo) &lt; 0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(0);
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned int mask = 0000777;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned int access = mask &amp; fileInfo.st_mode;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("%o\n%d\n", access, fileInfo.st_uid);<br />}</p>
</blockquote>
<p>　　关于更多的信息，诸如用户和组的信息，fileInfo.st_uid等等，可以查询stat结构，里面有很多的信息。</p>
<blockquote><p>struct&nbsp; stat<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp; dev_t&nbsp;&nbsp;&nbsp; st_dev;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*device*/<br />&nbsp;&nbsp;&nbsp;&nbsp; ino_t&nbsp;&nbsp;&nbsp;&nbsp; st_ino;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*inode*/<br />&nbsp;&nbsp;&nbsp;&nbsp; mode_t st_mode;&nbsp;&nbsp;&nbsp; /*protection*/<br />&nbsp;&nbsp;&nbsp;&nbsp; nlink_t&nbsp;&nbsp; st_nlink;&nbsp;&nbsp;&nbsp;&nbsp; /*number of hard&nbsp; links */<br />&nbsp;&nbsp;&nbsp;&nbsp; uid_t&nbsp;&nbsp;&nbsp;&nbsp; st_uid;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*user ID of owner*/<br />&nbsp;&nbsp;&nbsp;&nbsp; gid_t&nbsp;&nbsp;&nbsp;&nbsp; st_gid;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*group ID of owner*/<br />&nbsp;&nbsp;&nbsp;&nbsp; dev_t&nbsp;&nbsp;&nbsp; st_rdev;&nbsp;&nbsp;&nbsp;&nbsp; /*device type (if inodedevice)*/<br />&nbsp;&nbsp;&nbsp;&nbsp; off_t&nbsp;&nbsp;&nbsp;&nbsp; st_size;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*total size,&nbsp; in bytes*/<br />&nbsp;&nbsp;&nbsp;&nbsp; unsigned long&nbsp; st_blksize;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*blocksize for filesystem I/O*/<br />&nbsp;&nbsp;&nbsp;&nbsp; unsigned long&nbsp; st_blocks;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* number of blocks allocated*/<br />&nbsp;&nbsp;&nbsp;&nbsp; time_t&nbsp;&nbsp; st_atime;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*time of last access*/<br />&nbsp;&nbsp;&nbsp;&nbsp; time_t&nbsp;&nbsp; st_mtime;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*time of last modification*/<br />&nbsp;&nbsp;&nbsp;&nbsp; time_t&nbsp;&nbsp; st_ctime;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*time of last change*/<br />};</p>
</blockquote>
<p>　　当然你也可能更改文件的权限信息，譬如本来一个文件是0600的权限，你想更改为0644的权限，即如同Linux下chmod命令。在Linux下我们可以用：<br />
<blockquote>
<p>#chmod 0644 myfile</p>
</blockquote>
<p>　　来更改文件的权限，那么在C语言下，其实也提供了类似的函数。<br />
<blockquote>
<p>#include &lt;stdio.h&gt;<br />#include &lt;sys/stat.h&gt;
<p>void main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char *fileName = "/home/user/test/myfile";<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chmod(fileName, 0644);<br />}</p>
</blockquote>
<p>　　其实呢，还有<a href="http://man.chinaunix.net/develop/c&amp;c++/linux_c/main.htm" target="_blank">更多的函数</a>，跟Linux里的命令很相近。</p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/source-insight-see-source-code" title="Source-Insight-看大规模大工程源代码">Source-Insight-看大规模大工程源代码</a></li><li><a href="http://wangliping.net/linux-android-x86-test-keyboard-mouse-touch-screen" title="Linux下测试键盘鼠标触摸屏触摸板">Linux下测试键盘鼠标触摸屏触摸板</a></li><li><a href="http://wangliping.net/cpp-link-sort-override-wrfile" title="C++单链表冒泡排序、运算符重载和文件读写">C++单链表冒泡排序、运算符重载和文件读写</a></li><li><a href="http://wangliping.net/linux_mem_info_watch" title="Linux内存信息查看相关">Linux内存信息查看相关</a></li><li><a href="http://wangliping.net/how_to_add_swap_method" title="Linux中增加Swap的方法">Linux中增加Swap的方法</a></li><li><a href="http://wangliping.net/make_linux_kernel_update" title="编译Linux内核教程（Ubuntu为例）">编译Linux内核教程（Ubuntu为例）</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/c-change-file-permission/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android-x86-2.0-eclair出pub-test版了</title>
		<link>http://wangliping.net/android-x86-20-eclair-release</link>
		<comments>http://wangliping.net/android-x86-20-eclair-release#comments</comments>
		<pubDate>Sat, 16 Jan 2010 16:04:37 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android-x86]]></category>
		<category><![CDATA[cwhuang]]></category>
		<category><![CDATA[eclair]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://wangliping.net/android-x86-20-eclair-release</guid>
		<description><![CDATA[Android-2.0对于Android-1.6来说是一个跨越，Android-x86-2.0对于android-x86-1.6也是一个跨越，首先，Android之身的特性 ，对于Android-x86来说几乎都继承了，然后添加了一些针对x86平台的一些特有的特性。譬如说x86支持以太网，支持大屏幕，支持多种x86平台等等。]]></description>
			<content:encoded><![CDATA[<p>　　Android-2.0对于Android-1.6来说是一个跨越，Android-x86-2.0对于android-x86-1.6也是一个跨越，首先，Android之身的特性 ，对于Android-x86来说几乎都继承了，然后添加了一些针对x86平台的一些特有的特性。譬如说x86支持以太网，支持大屏幕，支持多种x86平台等等。</p>
</p>
<p><span id="more-606"></span>
<p>　　2.0的释出，是多个工作者努力的结果，感谢开源。说起开源，就说起google对于Android的开放程度还是存在些许问题。譬如<a href="http://cwhuang.info" target="_blank">cwhuang</a>提到2.0没有history信息，即git log找不到任何修改信息。其实个人还认为部分代码不全才是最重要的问题，细细检查可以发现部分代码缺失。废话不多说，想了解android-x86更详细内容，敬请登陆<a href="http://www.android-x86.org">http://www.android-x86.org</a>去细细研究，要讨论则去<a title="https://groups.google.com/group/android-x86/" href="https://groups.google.com/group/android-x86/">https://groups.google.com/group/android-x86/</a>。当然本来地址是http协议的，不过由于国内不能访问groups，于是用https协议多数时候倒是可以访问的。下载地址：<a href="http://code.google.com/p/android-x86/downloads/list">http://code.google.com/p/android-x86/downloads/list</a></p>
</p>
<p>　　下面摘录部分关于Andorid-x86-2.0的有关信息。原文地址：<a href="http://www.android-x86.org/releases/build-20100115">http://www.android-x86.org/releases/build-20100115</a> 转载请注明原文地址。</p>
<blockquote><p>Build 20100115<br />Test build for Android-x86 2.0 on EeePC platforms<br />The Android-x86 project is glad to announce a new test build<br />20100115 for public testing. A live CD ISO and USB image are<br />available from our site:<br />http://www.android-x86.org/download<br />http://code.google.com/p/android-x86/downloads/list<br />Features:<br />Build 20100115 is Android 2.0 (Eclair) based and it is a release candidate for android-x86 2.0 stable release.<br />In addition to the features available in 1.6 release, the new build contains<br />* Auto detection for touch screen calibration.<br />* Enabled Keyguard window.<br />* Improved sleep and wakeup handling.<br />* Eclair NDK for X86 platforms<br />* Added backlight support for EeePC platforms.<br />* New framework to support different x86 platforms from different vendors.<br />* Kernel 2.6.32 support (not included in the prebuilt images)<br />Released Files:<br />* Live CD iso: android-x86-eeepc-2.0.iso<br />SHA1 Checksum: 0de5f73720e4280aa192d4eb43af63656234d430<br />* Live USB image: android-x86-eeepc-2.0_usb.img.gz<br />SHA1 Checksum: 50c2288690dc6060f0878c5c479b8ed461081e9a<br />Source code:<br />The source code is available in our git server, see http://www.android-x86.org/getsourcecode for the instructions about how to get the source code.<br />Test reports (success or fail) are welcome.<br />Please send the reports to the Android-x86 discussion group.<br />http://groups.google.com/group/android-x86<br />Known issues:<br />1. the libghl is not merged yet.<br />2. the graphic performance is very bad<br />3. the Camcorder does not work.<br />4. WIFI does not work for certain devices<br />5. low sound volume</p>
</blockquote>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/eclair-virtuebox-boot" title="Eclair已经在VirtualBox上跑起来了">Eclair已经在VirtualBox上跑起来了</a></li><li><a href="http://wangliping.net/source-insight-see-source-code" title="Source-Insight-看大规模大工程源代码">Source-Insight-看大规模大工程源代码</a></li><li><a href="http://wangliping.net/android-x86-camrecord-and-opensource" title="Android-x86录像功能完善——兼谈开源">Android-x86录像功能完善——兼谈开源</a></li><li><a href="http://wangliping.net/android-x86-begin-to-accept-donate" title="Android-x86项目开始接受捐款">Android-x86项目开始接受捐款</a></li><li><a href="http://wangliping.net/android-x86-1-6-stable" title="Android-x86出1.6版了">Android-x86出1.6版了</a></li><li><a href="http://wangliping.net/android-x86-2" title="华人软件工程师移植Android系统入驻上网本">华人软件工程师移植Android系统入驻上网本</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/android-x86-20-eclair-release/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Source-Insight-看大规模大工程源代码</title>
		<link>http://wangliping.net/source-insight-see-source-code</link>
		<comments>http://wangliping.net/source-insight-see-source-code#comments</comments>
		<pubDate>Thu, 07 Jan 2010 08:49:20 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[编程技术]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android-x86]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[Source-Insight]]></category>

		<guid isPermaLink="false">http://wangliping.net/source-insight-see-source-code</guid>
		<description><![CDATA[如果你只是看或者编写一个小应用，这个东西当然还没有UltraEdit好，但是你要管理成百上千，成千上万的代码，那你最好还是考虑一下这个吧，UltraEdit此时只能是束手无策或者是黔驴技穷了。你估计想说，有那么多文件需要管理吗？其实，最简单最广泛的，Linux的Kernel就是一个典型的例子。解压后的代码都有几百M，你说你怎么看？说实话最初我不知道这软件的时候，是一个目录一个目录，一个文件一个文件看的。]]></description>
			<content:encoded><![CDATA[<p>　　如果你只是看或者编写一个小应用，这个东西当然还没有UltraEdit好，但是你要管理成百上千，成千上万的代码，那你最好还是考虑一下这个吧，UltraEdit此时只能是束手无策或者是黔驴技穷了。你估计想说，有那么多文件需要管理吗？其实，最简单最广泛的，Linux的Kernel就是一个典型的例子。解压后的代码都有几百M，你说你怎么看？说实话最初我不知道这软件的时候，是一个目录一个目录，一个文件一个文件看的。</p>
<p><span id="more-599"></span>　　然而你要知道，翻目录翻文件，你的确需要毅力。还有就是想找一个文件，你又得用find，找一个函数你还得有search，更或者要用grep，如此这般。然后你想知道一个函数被谁调用，你却无从下手，然后你想知道一个变量怎么改变的，你依然要费大力气。那么，就从这些劳动中解脱出来吧，用上Source Insight或许就可以减轻你这样的负担了。</p>
<p>　　原来看Android的源码树时，用的是Eclipse，当时觉得挺好用的。但是后来发现Eclair居然不能导入到Eclipse。得，本来也觉得Eclipse不能很好地看C代码很不爽，那么就用SourceInsight吧。全部导入并sync后，发现貌似SourceInsight看源码树比Eclipse还好一些，特别是最近几乎看的都是C和C++部分的代码，其实对于Java代码也一样好。可以在代码间跳转，可以很快地定位需要的文件，虽然不能完全所有想定位的都能定位，但已经足以比Eclipse好一些了。</p>
<p>　　建议看源代码时，要将代码sync一下，这样就可以跳转了。虽然这样要花费较多的时间去sync，花费较多的磁盘空间，不过，磁盘嘛，1G总是相对比较少的，时间嘛，花一次这样的时间，以后都方便还是很好的。而且这个软件还是免费的，最初看到这个软件的推荐是在IBM的开发网站上，呵～IBM推荐的，也可以让大家信任吧。截图看一下：</p>
<p><a href="http://pimg.swodestatic.com/NjQxMTc3Nixzd2FuZGxl.jpg" target="_blank"><img style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" title="Source-Insight" src="http://pimg.swodestatic.com/NjQxMTc3Nixzd2FuZGxl_medium.jpg" border="0" alt="Source-Insight" width="484" height="295" /></a></p>
<p align="center"><strong>原创文章，如需转载请注明【</strong><a href="http://wangliping.net" target="_blank"><strong>转烛空间</strong></a><strong>】：</strong><a href="http://wangliping.net"><strong>http://wangliping.net</strong></a></p>
<p align="center"><strong>本文地址：</strong><a href="http://wangliping.net/source-insight-see-source-code"><strong>http://wangliping.net/source-insight-see-source-code</strong></a></p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/android-x86-20-eclair-release" title="Android-x86-2.0-eclair出pub-test版了">Android-x86-2.0-eclair出pub-test版了</a></li><li><a href="http://wangliping.net/linux-android-x86-test-keyboard-mouse-touch-screen" title="Linux下测试键盘鼠标触摸屏触摸板">Linux下测试键盘鼠标触摸屏触摸板</a></li><li><a href="http://wangliping.net/eclair-virtuebox-boot" title="Eclair已经在VirtualBox上跑起来了">Eclair已经在VirtualBox上跑起来了</a></li><li><a href="http://wangliping.net/android-x86-camrecord-and-opensource" title="Android-x86录像功能完善——兼谈开源">Android-x86录像功能完善——兼谈开源</a></li><li><a href="http://wangliping.net/android-x86-begin-to-accept-donate" title="Android-x86项目开始接受捐款">Android-x86项目开始接受捐款</a></li><li><a href="http://wangliping.net/android-x86-1-6-stable" title="Android-x86出1.6版了">Android-x86出1.6版了</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/source-insight-see-source-code/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>2009白云黄鹤我最喜欢的电影投票结果</title>
		<link>http://wangliping.net/2009-byhh-best-movies-result</link>
		<comments>http://wangliping.net/2009-byhh-best-movies-result#comments</comments>
		<pubDate>Thu, 31 Dec 2009 05:38:47 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[光影文字]]></category>
		<category><![CDATA[十大]]></category>
		<category><![CDATA[喜欢]]></category>
		<category><![CDATA[投票]]></category>
		<category><![CDATA[电影]]></category>
		<category><![CDATA[白云]]></category>
		<category><![CDATA[白云黄鹤]]></category>
		<category><![CDATA[结果]]></category>

		<guid isPermaLink="false">http://wangliping.net/2009-byhh-best-movies-result</guid>
		<description><![CDATA[经过半个月的网友投票，结果已经出来了。当然，结果出乎意料，为了体现公平性而补上去的两部电影《十月围城》和《三枪拍案惊奇》居然成了头榜，这让大家，同样也让我想不通。应该不是投票器的问题，难道是有网友恶搞还是真的就是这样的？不知道。以下只是列举出投票结果。]]></description>
			<content:encoded><![CDATA[<p>　　经过半个月的<a href="http://wangliping.net/2009-byhh-best-movies" target="_blank">网友投票</a>，结果已经出来了。当然，结果出乎意料，为了体现公平性而补上去的两部电影《十月围城》和《三枪拍案惊奇》居然成了头榜，这让大家，同样也让我想不通。应该不是投票器的问题，难道是有网友恶搞还是真的就是这样的？不知道。以下只是列举出投票结果。</p>
<p><span id="more-567"></span>
<p><img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://pimg.swodestatic.com/NjYzMTM3NSxzd2FuZGxl.jpg"> </p>
<p align="center"><strong>原创文章，如需转载请注明出处【<a href="http://wangliping.net/">转烛空间</a>】：</strong><a href="http://wangliping.net"><strong>http://wangliping.net</strong></a>
<p align="center"><strong>本文地址：<a href="http://wangliping.net/2009-byhh-best-movies-result">http://wangliping.net/2009-byhh-best-movies-result</a></strong></p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/2009-byhh-best-movies" title="2009白云黄鹤我最喜欢的电影">2009白云黄鹤我最喜欢的电影</a></li><li><a href="http://wangliping.net/movie-panda-langzaiji" title="周末看的电影－熊猫大侠－狼灾记等">周末看的电影－熊猫大侠－狼灾记等</a></li><li><a href="http://wangliping.net/lipeigen_talk_online_all_q_and_a" title="李培根网友交流会问答全文整理">李培根网友交流会问答全文整理</a></li><li><a href="http://wangliping.net/juxie" title="【转载】变幻情绪的巨蟹座">【转载】变幻情绪的巨蟹座</a></li><li><a href="http://wangliping.net/perfect_tianping" title="十二星座终极完美分析&#8211;天秤篇">十二星座终极完美分析&#8211;天秤篇</a></li><li><a href="http://wangliping.net/perfect_shuangyu" title="十二星座终极完美分析&#8211;双鱼篇">十二星座终极完美分析&#8211;双鱼篇</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/2009-byhh-best-movies-result/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>中国网络电视台cntv开播的三大看点</title>
		<link>http://wangliping.net/three-points-about-cntv</link>
		<comments>http://wangliping.net/three-points-about-cntv#comments</comments>
		<pubDate>Wed, 30 Dec 2009 07:51:58 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[互联网络]]></category>
		<category><![CDATA[cctv]]></category>
		<category><![CDATA[cntv]]></category>
		<category><![CDATA[在线电视]]></category>
		<category><![CDATA[看点]]></category>
		<category><![CDATA[网络电视台]]></category>

		<guid isPermaLink="false">http://wangliping.net/three-points-about-cntv</guid>
		<description><![CDATA[最近中国网络电视台风风火火，大出风头。昨晚我也尝试了一下，网速不错，还很清晰，貌似不管是连接速度还是清晰度都比PPLIVE和PPSTREAM好那么一些，果然是央视出手就不同，有权有势有钱才好说话。以下援引一篇文章。
　　中国网络电视台（英文简称CNTV），是中国国家网络电视播出机构，是以视听互动为核心、融网络特色与电视特色于一体的全球化、多语种、多终端的公共服务平台。将充分发挥电视平台和网络平台的双平台的优势，对国际国内重大政治、经济、社会、文化、体育等活动和事件以网络视听的形式进行快速、真实的报道和传播；同时着力为全球用户提供包括视频直播、点播、上传、搜索、分享等在内的、方便快捷的“全功能”服务，成为深受用户喜爱的公共信息娱乐网络视频平台。]]></description>
			<content:encoded><![CDATA[<p>　　最近中国网络电视台风风火火，大出风头。昨晚我也尝试了一下，网速不错，还很清晰，貌似不管是连接速度还是清晰度都比PPLIVE和PPSTREAM好那么一些，果然是央视出手就不同，有权有势有钱才好说话。以下援引一篇文章。
<p>　　中国网络电视台（CNTV）今天正式开播了，也许很多朋友并不了解它。以下介绍引用自<a href="http://baike.baidu.com/view/2754228.htm">百度百科</a>：</p>
<p><span id="more-566"></span><br />
<blockquote>
<p>中国网络电视台（英文简称CNTV），是中国国家网络电视播出机构，是以视听互动为核心、融网络特色与电视特色于一体的全球化、多语种、多终端的公共服务平台。将充分发挥电视平台和网络平台的双平台的优势，对国际国内重大政治、经济、社会、文化、体育等活动和事件以网络视听的形式进行快速、真实的报道和传播；同时着力为全球用户提供包括视频直播、点播、上传、搜索、分享等在内的、方便快捷的“全功能”服务，成为深受用户喜爱的公共信息娱乐网络视频平台。</p>
</blockquote>
<p>　　从中国网络电视台计划曝光起，关于它的各种争议就纷至沓来。下面就跟随<a href="http://www.xjp.cc">XJP</a>一起来点评一下大家最关注的三大看点：<br />
<h5><strong>是否有不正当竞争之嫌</strong></h5>
<p><img title="李长春 点击开通中国网络电视台  " style="display: block; float: none; margin-left: auto; margin-right: auto" height="281" alt="" src="http://pimg.swodestatic.com/NjYzMTI3Mixzd2FuZGxl.jpg" width="500">
<p>　　此前有消息称央视欲通过引入社会资本的方式加强市场化运作，其目标是“建设成为能够充分体现中国国家水平并具有重要国际影响力的网络电视台，实现‘把最好的内容传播给最多的用户’的媒体责任和平台价值”。
<p>　　这意味着中国网络电视台完全可能是披着市场化外衣的国有企业，体制内与体制外优势同时占据当然是无往不利。他们拥有让人眼馋的资金实力，依靠央视特殊地位获得的廉价带宽，以及各种灰色的行政手段干扰市场竞争，这样的对手让人心悸。
<p>　　例如当前打击手机淫秽色情网站的风头浪尖之时，中国网络电视台的开播难免被看作有“借机”的嫌疑。
<p>　　最近准备转型的暴风，刚刚买下pps.tv域名的PPS，还有正准备继续深耕细作的PPLive，现在对于他们未免是一个太过难堪的局面。中国网络电视台的直播+点播+分享的策略，无疑是想要把市场全部囊括，撇开彼此那些宽心的理由不谈，卧榻之侧老虎鼾睡的滋味肯定不好受。<br />
<h5><strong>是否会冲击传统媒体</strong></h5>
<p><img title="传统媒体的灾难" style="display: block; float: none; margin-left: auto; margin-right: auto" height="302" alt="" src="http://pimg.swodestatic.com/NjYzMTI3NSxzd2FuZGxl.jpg" width="400">
<p>　　对于CCTV来说，中国网络电视台越成功，就会越影响传统电视的收看率，尽管用户仍然是在它手里，但是这仍然会让它在很长一段时间内感到不适应。
<p>　　另外除开资讯、体育、财经等传统强势内容，短期内他们在影视剧和娱乐还很难获得优势，互联网几乎低廉的切换成本会让他们更容易失去年轻用户。
<p>　　另外除了央视，各大地方台以及报纸等媒体都可能面临这种巨大冲击，因为央视的CCBOX客户端也提供了各个地方台的直播，不出意外不久以后这将会成为最全的国内网络电视客户端。
<p>　　报纸这种最古老的信息媒体可能会受到最大的冲击，信息获取的极度便利和廉价让挑选成为很多人的爱好，我猜他们会毫不犹豫地对报纸Say Out，我们能做的只能是祈祷了。<br />
<h5><strong>工信部是否想要强行使绊子</strong></h5>
<p><img title="工信部的小九九" style="display: block; float: none; margin-left: auto; margin-right: auto" height="179" alt="" src="http://pimg.swodestatic.com/NjYzMTI3Nyxzd2FuZGxl.jpg" width="482">
<p>　　从手机电视到网络电视，工信部与广电总局之间从来就没有消停过。不过这次中国网络电视台的“备案门”事件的确是工信部给广电总局的一个大耳刮子。
<p>　　在他们近期联手进行的手机色情清理行动中，是否备案被看作是一个网站是否合法的重要标准，就在之前CCTV还点名批评了几大运营商的备案不规范行为，转眼这主角就变成了CCTV自己的中国网络电视台。<br />
<blockquote>
<p>昨天，央视旗下的中国网络电视台悄然上线，目前网站首页底部的ICP备案号为京ICP证060535号，网上传播视听节目许可证号为0102004，但是在工信部的备案查询系统中，根本没有看到所谓的备案许可证号。</p>
</blockquote>
<p>　　这莫非说明广电总局和工信部之间存在不小间隙？抑或者是工信部根本不想让CNTV合法化？
<p>　　不过工信部这最多算是使小性子的做法，这么大张旗鼓的宣传都弄出来了，最终的备案号还是会给通过的。不过事件本身透露出两家的态度值得我们深思，没准啥时候就闹开了。
<p>　　中国网络电视台（CNTV）现在已经正式开播了，大家普遍反映都还不错，很清晰、很流畅，不知道是不是给电信、联通下啥指示了。大家都可以去体验下，毕竟黑猫白猫逮着耗子就是好猫。
<p>引用来自于XJP，<a href="http://www.xjp.cc/2009/12/28/cntv-launch/" target="_blank">原文地址</a></p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/faye-cctv-chun-wan" title="春晚节目单曝光-王菲第10个登场">春晚节目单曝光-王菲第10个登场</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/three-points-about-cntv/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux下测试键盘鼠标触摸屏触摸板</title>
		<link>http://wangliping.net/linux-android-x86-test-keyboard-mouse-touch-screen</link>
		<comments>http://wangliping.net/linux-android-x86-test-keyboard-mouse-touch-screen#comments</comments>
		<pubDate>Wed, 23 Dec 2009 11:29:56 +0000</pubDate>
		<dc:creator>转烛</dc:creator>
				<category><![CDATA[编程技术]]></category>
		<category><![CDATA[android-x86]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[测试]]></category>

		<guid isPermaLink="false">http://wangliping.net/linux-android-x86-test-keyboard-mouse-touch-screen</guid>
		<description><![CDATA[在Linux或者Android-x86系统下，会用到测试键盘、鼠标、触摸屏、触摸板等各种输入设备的功能，那么下面的这段代码是个好的选择。以下文章出自于猫出没的地方，本文做了一些小改动。

　　最近玩了下Android-x86的eclair，主题风格相对之前的1.6好看了很多，而且还加了不少之前没有的功能。但是触摸屏不能用，于是想自己试着去解决这个问题，首先编写了个Linux输入设备的测试小程序来检测问题所在，测试结果发现没有校正，总算也小有成就。接下来应该再dig触摸屏的校正问题：-)

　　现在把写的测试程序放上来供大家参考：
　　代码中宏定义KEY_DEV、MOU_DEV、TOUS_DEV、TOUP_DEV是Linux下键盘，鼠标，触摸屏和触摸板的设备文件路径，对于不同的系统和机器可能有所不同，大家可以用cat /proc/bus/input/devices查看自己机器的设备文件。]]></description>
			<content:encoded><![CDATA[<p>　　在Linux或者Android-x86系统下，会用到测试键盘、鼠标、触摸屏、触摸板等各种输入设备的功能，那么下面的这段代码是个好的选择。以下文章出自于猫出没的地方，本文做了一些小改动。
<p>　　最近玩了下Android-x86的eclair，主题风格相对之前的1.6好看了很多，而且还加了不少之前没有的功能。但是触摸屏不能用，于是想自己试着去解决这个问题，首先编写了个Linux输入设备的测试小程序来检测问题所在，测试结果发现没有校正，总算也小有成就。接下来应该再dig触摸屏的校正问题：-)
<p>　　现在把写的测试程序放上来供大家参考：<br />　　代码中宏定义KEY_DEV、MOU_DEV、TOUS_DEV、TOUP_DEV是Linux下键盘，鼠标，触摸屏和触摸板的设备文件路径，对于不同的系统和机器可能有所不同，大家可以用cat /proc/bus/input/devices查看自己机器的设备文件。</p>
<p><span id="more-555"></span>
<p>　　用gcc -o outfilename filename编译生成可执行文件。如你将代码保存为test.c，那么你可以用gcc -o test test.c来编译连接。然后在目录下使用./test运行文件，注意修改生成的可执行文件权限(sudo chmod a+x test)，不想修改权限的用sudo ./test。目前还没加入测试过程中切换测试设备的功能，只能用CTRL+Z结束程序，再重新执行文件。有时间可以再摸索下加个这个功能，呵呵~~
<div style="border-bottom: #a9a9a9 1px solid; border-left: #a9a9a9 1px solid; background-color: rgb(249,247,237); font-family: consolas, 'Lucida Console', 'Courier New'; color: rgb(0,0,0); border-top: #a9a9a9 1px solid; border-right: #a9a9a9 1px solid" class="source"><span style="color: rgb(0,136,0)">#include &lt;stdio.h&gt;</span><br /><span style="color: rgb(0,136,0)">#include &lt;unistd.h&gt;</span><br /><span style="color: rgb(0,136,0)">#include &lt;sys/types.h&gt;</span><br /><span style="color: rgb(0,136,0)">#include &lt;fcntl.h&gt;</span><br /><span style="color: rgb(0,136,0)">#include &lt;linux/input.h&gt;</span><br /><span style="color: rgb(0,136,0)">#define KEY_DEV "/dev/input/event5"</span><br /><span style="color: rgb(0,136,0)">#define MOU_DEV "/dev/input/event6″</span><br /><span style="color: rgb(0,136,0)">#define TOUS_DEV "/dev/input/event7″</span><br /><span style="color: rgb(0,136,0)">#define TOUP_DEV "/dev/input/event11″</span></p>
<p><span style="color: rgb(170,34,255); font-weight: bold">static</span> <span style="color: rgb(0,187,0); font-weight: bold">int</span> <span style="color: rgb(0,0,0)">ts_fd</span> <span style="color: rgb(102,102,102)">=</span> <span style="color: rgb(102,102,102)">-</span><span style="color: rgb(102,102,102)">1</span>;<br /><span style="color: rgb(170,34,255); font-weight: bold">static</span> <span style="color: rgb(170,34,255); font-weight: bold">struct</span> <span style="color: rgb(0,0,0)">input_event</span> <span style="color: rgb(0,0,0)">data</span>;</p>
<p><span style="color: rgb(170,34,255); font-weight: bold">static</span> <span style="color: rgb(0,187,0); font-weight: bold">int</span> <span style="color: rgb(0,160,0)">init_device</span>(<span style="color: rgb(0,187,0); font-weight: bold">char</span> <span style="color: rgb(102,102,102)">*</span><span style="color: rgb(0,0,0)">TS_DEV</span>)<br /><span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">if</span>((<span style="color: rgb(0,0,0)">ts_fd</span> <span style="color: rgb(102,102,102)">=</span> <span style="color: rgb(0,0,0)">open</span>(<span style="color: rgb(0,0,0)">TS_DEV</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">O_RDONLY</span>)) <span style="color: rgb(102,102,102)">&lt;</span> <span style="color: rgb(102,102,102)">0</span>)<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">printf</span>(<span style="color: rgb(187,68,68)">"Error open %s</span><span style="color: rgb(187,102,34); font-weight: bold">\n\n</span><span style="color: rgb(187,68,68)">"</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">TS_DEV</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">return</span> <span style="color: rgb(102,102,102)">-</span><span style="color: rgb(102,102,102)">1</span>;<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">return</span> <span style="color: rgb(0,0,0)">ts_fd</span>;<br /><span style="color: rgb(0,0,0)">}</span></p>
<p><span style="color: rgb(170,34,255); font-weight: bold">static</span> <span style="color: rgb(0,187,0); font-weight: bold">int</span> <span style="color: rgb(0,160,0)">test_key</span>()<br /><span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">if</span>(<span style="color: rgb(0,0,0)">init_device</span>(<span style="color: rgb(0,0,0)">KEY_DEV</span>) <span style="color: rgb(102,102,102)">&lt;</span> <span style="color: rgb(102,102,102)">0</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">return</span> <span style="color: rgb(102,102,102)">-</span><span style="color: rgb(102,102,102)">1</span>;<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">while</span>(<span style="color: rgb(102,102,102)">1</span>)<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">read</span>(<span style="color: rgb(0,0,0)">ts_fd</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(102,102,102)">&amp;</span><span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(170,34,255); font-weight: bold">sizeof</span>(<span style="color: rgb(0,0,0)">data</span>));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">if</span> (<span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">type</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">EV_KEY</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">printf</span>(<span style="color: rgb(187,68,68)">"&nbsp; type: EV_KEY, event = %d, value = %d</span><span style="color: rgb(187,102,34); font-weight: bold">\n</span><span style="color: rgb(187,68,68)">"</span><span style="color: rgb(0,0,0)">,</span><span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">value</span>);<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">return</span> <span style="color: rgb(102,102,102)">0</span>;<br /><span style="color: rgb(0,0,0)">}</span></p>
<p><span style="color: rgb(170,34,255); font-weight: bold">static</span> <span style="color: rgb(0,187,0); font-weight: bold">int</span> <span style="color: rgb(0,160,0)">test_mouse</span>()<br /><span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">if</span>(<span style="color: rgb(0,0,0)">init_device</span>(<span style="color: rgb(0,0,0)">MOU_DEV</span>) <span style="color: rgb(102,102,102)">&lt;</span> <span style="color: rgb(102,102,102)">0</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">return</span> <span style="color: rgb(102,102,102)">-</span><span style="color: rgb(102,102,102)">1</span>;<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">while</span>(<span style="color: rgb(102,102,102)">1</span>)<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">read</span>(<span style="color: rgb(0,0,0)">ts_fd</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(102,102,102)">&amp;</span><span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(170,34,255); font-weight: bold">sizeof</span>(<span style="color: rgb(0,0,0)">data</span>));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">if</span> (<span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">type</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">EV_KEY</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">printf</span>(<span style="color: rgb(187,68,68)">"&nbsp; type = EV_KEY, code = %s, value = %d</span><span style="color: rgb(187,102,34); font-weight: bold">\n</span><span style="color: rgb(187,68,68)">"</span><span style="color: rgb(0,0,0)">,</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">BTN_LEFT</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"MOUSE_LEFT"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">BTN_RIGHT</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"MOUSE_RIGHT"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">BTN_MIDDLE</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"MOUSE_MIDDLE"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">BTN_SIDE</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"MOUSE_SIDE"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(187,68,68)">"Unkonw"</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">value</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">else</span> <span style="color: rgb(170,34,255); font-weight: bold">if</span>(<span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">type</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">EV_REL</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">printf</span>(<span style="color: rgb(187,68,68)">"&nbsp; type = EV_ABS, code = %s, value = %d</span><span style="color: rgb(187,102,34); font-weight: bold">\n</span><span style="color: rgb(187,68,68)">"</span><span style="color: rgb(0,0,0)">,</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">REL_X</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"ABS_X"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">REL_Y</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"ABS_Y"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">ABS_WHEEL</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"MOUSE_WHEEL"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">ABS_PRESSURE</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"ABS_PRESSURE"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(187,68,68)">"Unkown"</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">value</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">return</span> <span style="color: rgb(102,102,102)">0</span>;<br /><span style="color: rgb(0,0,0)">}</span></p>
<p><span style="color: rgb(170,34,255); font-weight: bold">static</span> <span style="color: rgb(0,187,0); font-weight: bold">int</span> <span style="color: rgb(0,160,0)">test_touch_screen</span>()<br /><span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">if</span>(<span style="color: rgb(0,0,0)">init_device</span>(<span style="color: rgb(0,0,0)">TOUS_DEV</span>) <span style="color: rgb(102,102,102)">&lt;</span> <span style="color: rgb(102,102,102)">0</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">return</span> <span style="color: rgb(102,102,102)">-</span><span style="color: rgb(102,102,102)">1</span>;<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">while</span>(<span style="color: rgb(102,102,102)">1</span>)<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">read</span>(<span style="color: rgb(0,0,0)">ts_fd</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(102,102,102)">&amp;</span><span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(170,34,255); font-weight: bold">sizeof</span>(<span style="color: rgb(0,0,0)">data</span>));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">if</span> (<span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">type</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">EV_KEY</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">printf</span>(<span style="color: rgb(187,68,68)">"&nbsp; type: EV_KEY, event = %s, value = %d</span><span style="color: rgb(187,102,34); font-weight: bold">\n\n</span><span style="color: rgb(187,68,68)">"</span><span style="color: rgb(0,0,0)">,</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">BTN_TOUCH</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"BTN_TOUCH"</span> <span style="color: rgb(102,102,102)">:</span> <span style="color: rgb(187,68,68)">"Unkown"</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">value</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">else</span> <span style="color: rgb(170,34,255); font-weight: bold">if</span>(<span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">type</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">EV_ABS</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">printf</span>(<span style="color: rgb(187,68,68)">"&nbsp; type: EV_ABS, event = %s, value = %d</span><span style="color: rgb(187,102,34); font-weight: bold">\n\n</span><span style="color: rgb(187,68,68)">"</span><span style="color: rgb(0,0,0)">,</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">ABS_X</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"ABS_X"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">ABS_Y</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"ABS_Y"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">ABS_PRESSURE</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"ABS_PRESSURE"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(187,68,68)">"Unkown"</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">value</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">return</span> <span style="color: rgb(102,102,102)">0</span>;<br /><span style="color: rgb(0,0,0)">}</span></p>
<p><span style="color: rgb(170,34,255); font-weight: bold">static</span> <span style="color: rgb(0,187,0); font-weight: bold">int</span> <span style="color: rgb(0,160,0)">test_touch_pancel</span>()<br /><span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">if</span>(<span style="color: rgb(0,0,0)">init_device</span>(<span style="color: rgb(0,0,0)">TOUP_DEV</span>) <span style="color: rgb(102,102,102)">&lt;</span> <span style="color: rgb(102,102,102)">0</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">return</span> <span style="color: rgb(102,102,102)">-</span><span style="color: rgb(102,102,102)">1</span>;<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">while</span>(<span style="color: rgb(102,102,102)">1</span>)<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">read</span>(<span style="color: rgb(0,0,0)">ts_fd</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(102,102,102)">&amp;</span><span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(170,34,255); font-weight: bold">sizeof</span>(<span style="color: rgb(0,0,0)">data</span>));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">if</span> (<span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">type</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">EV_KEY</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">printf</span>(<span style="color: rgb(187,68,68)">"&nbsp; type = EV_KEY, code = %s, value = %d</span><span style="color: rgb(187,102,34); font-weight: bold">\n</span><span style="color: rgb(187,68,68)">"</span><span style="color: rgb(0,0,0)">,</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">BTN_LEFT</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"MOUSE_LEFT"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">BTN_RIGHT</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"MOUSE_RIGHT"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">BTN_MIDDLE</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"MOUSE_MIDDLE"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">BTN_SIDE</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"MOUSE_SIDE"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(187,68,68)">"Unkonw"</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">value</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">else</span> <span style="color: rgb(170,34,255); font-weight: bold">if</span>(<span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">type</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">EV_REL</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">printf</span>(<span style="color: rgb(187,68,68)">"&nbsp; type = EV_ABS, code = %s, value = %d</span><span style="color: rgb(187,102,34); font-weight: bold">\n</span><span style="color: rgb(187,68,68)">"</span><span style="color: rgb(0,0,0)">,</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">REL_X</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"ABS_X"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">REL_Y</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"ABS_Y"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">ABS_WHEEL</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"MOUSE_WHEEL"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">code</span> <span style="color: rgb(102,102,102)">==</span> <span style="color: rgb(0,0,0)">ABS_PRESSURE</span> <span style="color: rgb(102,102,102)">?</span> <span style="color: rgb(187,68,68)">"ABS_PRESSURE"</span> <span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(187,68,68)">"Unkown"</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">data</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(0,0,0)">value</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">return</span> <span style="color: rgb(102,102,102)">0</span>;<br /><span style="color: rgb(0,0,0)">}</span></p>
<p><span style="color: rgb(0,187,0); font-weight: bold">int</span> <span style="color: rgb(0,160,0)">main</span>()<br /><span style="color: rgb(0,0,0)">{</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">static</span> <span style="color: rgb(0,187,0); font-weight: bold">int</span> <span style="color: rgb(0,0,0)">i</span>;<br /><span style="color: rgb(160,160,0)">select:</span>&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">printf</span>(<span style="color: rgb(187,68,68)">"Please select device:</span><span style="color: rgb(187,102,34); font-weight: bold">\n</span><span style="color: rgb(187,68,68)">0.KeyBoard</span><span style="color: rgb(187,102,34); font-weight: bold">\n</span><span style="color: rgb(187,68,68)">1.Mouse</span><span style="color: rgb(187,102,34); font-weight: bold">\n</span><span style="color: rgb(187,68,68)">2.TouchScreen</span><span style="color: rgb(187,102,34); font-weight: bold">\n</span><span style="color: rgb(187,68,68)">3.TouchPanel</span><span style="color: rgb(187,102,34); font-weight: bold">\n\Your choice is:</span><span style="color: rgb(187,68,68)">"</span>);<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">scanf</span>(<span style="color: rgb(187,68,68)">"%d"</span><span style="color: rgb(0,0,0)">,</span><span style="color: rgb(102,102,102)">&amp;</span><span style="color: rgb(0,0,0)">i</span>);<br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">switch</span>(<span style="color: rgb(0,0,0)">i</span><span style="color: rgb(0,0,0)">){</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">case</span> <span style="color: rgb(102,102,102)">0</span><span style="color: rgb(0,0,0)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">test_key</span>();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">break</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">case</span> <span style="color: rgb(102,102,102)">1</span><span style="color: rgb(0,0,0)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">test_mouse</span>();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">break</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">case</span> <span style="color: rgb(102,102,102)">2</span><span style="color: rgb(0,0,0)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">test_touch_screen</span>();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">break</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">case</span> <span style="color: rgb(102,102,102)">3</span><span style="color: rgb(0,0,0)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">test_touch_pancel</span>();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">break</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">default</span><span style="color: rgb(102,102,102)">:</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">printf</span>(<span style="color: rgb(187,68,68)">"Wrong device, Please select again!</span><span style="color: rgb(187,102,34); font-weight: bold">\n\n</span><span style="color: rgb(187,68,68)">"</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">break</span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,0)">}</span><br />&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">goto</span> <span style="color: rgb(0,0,0)">select</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(170,34,255); font-weight: bold">return</span> <span style="color: rgb(102,102,102)">0</span>;<br /><span style="color: rgb(0,0,0)">}</span></div>
<p>原文出处：<a href="http://zhougaofeng.ixiezi.com/2009/12/23/inputtest/">http://zhougaofeng.ixiezi.com/2009/12/23/inputtest/</a></p>
<h3  class="related_post_title">你可能也感兴趣的文章：</h3><ul class="related_post"><li><a href="http://wangliping.net/source-insight-see-source-code" title="Source-Insight-看大规模大工程源代码">Source-Insight-看大规模大工程源代码</a></li><li><a href="http://wangliping.net/c-change-file-permission" title="C语言查看和更改文件的权限">C语言查看和更改文件的权限</a></li><li><a href="http://wangliping.net/android-x86-20-eclair-release" title="Android-x86-2.0-eclair出pub-test版了">Android-x86-2.0-eclair出pub-test版了</a></li><li><a href="http://wangliping.net/eclair-virtuebox-boot" title="Eclair已经在VirtualBox上跑起来了">Eclair已经在VirtualBox上跑起来了</a></li><li><a href="http://wangliping.net/android-x86-camrecord-and-opensource" title="Android-x86录像功能完善——兼谈开源">Android-x86录像功能完善——兼谈开源</a></li><li><a href="http://wangliping.net/linux_mem_info_watch" title="Linux内存信息查看相关">Linux内存信息查看相关</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wangliping.net/linux-android-x86-test-keyboard-mouse-touch-screen/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
