Articles of input

在Linux系统中,如何直接处理来自字符设备/游戏手柄的input?

我正在开发一个使用USB SNES控制器进行基于RPM分发的input的C程序。 有没有一个库让任何人知道,这使得它更容易交互,或者一些工具(joydev?)允许正确读取设备的input? 我不需要整个游戏引擎。 它只是从字符设备input。 如果有一个图书馆已经为我做了这个,那将是非常好的(我可以看看图书馆自己做了什么),这可以通过一个链接来closures; 否则,如果我必须自己做这个,我有几个具体的问题: 问题: 有一个已经存在的C库,可以为我处理所有与USB设备交互的游戏手柄吗? 我很乐意学习一个新的图书馆。 (我的google-fu在这里失败了,我很抱歉,如果这太明显了) 什么是确保您每次打开适当的字符设备的适当方法,因为事件*名称在会话/初始化之间改变? 从我的应用程序处理来自这些设备的input的适当方法是什么? 只要确定每个button按下的值是多less,并在我们轮询字符设备时根据该input执行操作? 简单的pseduo-C,像这样的东西? struct gamepad { int fd; }; void get_input(struct gamepad *gamepad) { char *buf; read(gamepad->fd, buf, 48); switch(buf) { /* insert cases about handling differing buttons */ } } 设备如何呈现: 我可以清楚地看到设备正确注册,据我所见: $ dmesg | tail [198564.517068] usb 1-1: USB disconnect, device […]

没有root权限的Linux原始input?

在一个Linux程序上,在控制台上(如在没有xorg等),我使用/ dev / input / event *来读取键盘和鼠标,但是我需要是root才能够读取它们。 有没有一种替代forms来阅读的东西,而不需要root权限(不必更改permisons和configuration文件等)? 我明白为什么它默认不需要解释。

bash脚本读取pipe道或参数

我希望我的脚本可以从标准input读取string,如果是pipe道input,或者从参数中读取string。 所以首先我想检查一些文本是否pipe道,如果没有,它应该使用参数作为input。 我的代码看起来像这样: value=$(cat) # read from stdin if [ "$pipe" != "" ]; then #check if pipe is not empty #Do something with pipe string else #Do something with argument string fi 问题是什么时候没有pipe道,然后脚本将停止,并等待“CTRL d”,我不希望这一点。 有关如何解决这个问题的任何build议? 提前致谢。 /托马斯

在Linux中运行R脚本时等待用户input

我有一段代码提示用户input,在Windows中运行代码时工作得很好。 但是,在Linux中,它执行每一行而不用等待用户input。 我在一个单独的函数中添加了代码,并使用了系统(“stty -echo”),但没有成功。 为什么会发生这种情况,可以做些什么? (执行命令:Rscript test.R) require(Biostrings) read_value <- function(prompt_text = "", prompt_suffix = getOption("prompt"), coerce_to= "character") { prompt <- paste(prompt_text, prompt_suffix) system("stty -echo") as(readline(prompt), coerce_to) } prints<-function() { opt<-as.character(readline(prompt = "Enter parameter values: ")) system("stty -echo") i<-1 while ((i<=5)) { if (i==1) { expr.filename <- as.character(readline(prompt = "Expression file name: ")) tryCatch( {expr.file<-read.table(expr.filename)},error=function(e) […]

linux:双鼠标 – 多鼠标指针的鼠标?

是否有可能在Linux中使用多于一个鼠标,以便有两个鼠标控制两个指针? 要么 即使没有指针,我可以从第二个鼠标获取像x,y这样的原始数据吗?

pipe道string到GNU转换date – 如何使它从标准input读取?

GNUdate可以让你像这样转换datestring: $ date +"%d %m %Y" -d "yesterday" 04 01 2012 是否有可能pipe道datestring转换? 我已经尝试了明显的-d -就像这样: $ echo "yesterday" | date +"%d %m %Y" -d – 但它打印今天的date,而不是昨天。 有没有可能pipe它的价值,或不支持? 谢谢。

浏览器从标准input读取HTML

有谁知道一个Linux的浏览器(它可以是基于控制台),可以从其标准input读取HTML页面? 例如,我想要这样做: generate_html | browser 谢谢!

来自相同stringinput的意外的不同结果

我有一个从外部接收input的BroadcastReceiver。 这个接收器必须像“鼠标般的”程序一样工作,并将input事件发送到系统。 我有根访问权限和权限。 我的问题是,当我发送一个string,如"input tap 275 410" ,程序行为正确,如果我甚至分裂string,如"input" + " tap" + " 275" + " 410" ,它仍然工作… 但是,当我组装string为所需: "input " + CursorSystem.command + " " + coords[0] + " " + coords[1] 然后没有任何事情发生……在debugging时,所有看过的string都是一样的(减去位置): value = {char[26]@830031306976} 0 = 'i' 105 1 = 'n' 110 2 = 'p' 112 3 = 'u' 117 4 = […]

我怎样才能创build我的Android设备上的新的虚拟鼠标设备?

我知道,我可以通过Android / Linux中的 /dev/input/eventx来听input设备。 如果您是超级用户 ,则可以将事件发送到设备。 我想以超级用户身份将鼠标事件发送到我的Android设备 ,例如Windows或Linux上的teamviewer ,我需要使用鼠标。 没有它,我得到错误,因为Could not open /dev/input/event8, No such device发送此事件时Could not open /dev/input/event8, No such device sendevent /dev/input/event8 xxxx xxxx xxxxxxxx到/dev/input/event8 ,用mknod /dev/input/event8 c 13 71创build的节点mknod /dev/input/event8 c 13 71 这个问题可以通过蓝牙鼠标连接到我的设备来解决。 该设备是在/sys/devices/platform/tegra_uart.2/tty/ttyHS2/hci0下自动创build的,命名为hci0:11还创build了input事件/dev/input/event7 (major 13 minor 71) 。 现在,我可以将事件发送到该节点并控制Android鼠标光标。 但我不想连接到鼠标。 任何人都可以build议如何创build我的Android设备上的虚拟鼠标设备?

iptables FORWARD和INPUT

我有一个Linux电脑的家庭networking,所有的iptables运行。 我认为把我的局域网放在Linux网关/防火墙后面是比较容易的,所以我在路由器和局域网之间放置了一台pc(带有fedora,没有gui),并configuration了iptables。 这里没有问题,INPUT只允许DNS(和一些本地的东西),转发工作正常:局域网连接到互联网。 但我的问题是:FORWARD是否允许从外部,或者只有我configurationINPUT的端口? 做FORWARD和INPUT一起工作还是分开? 这是我的iptables: *nat :PREROUTING ACCEPT [16:1336] :INPUT ACCEPT [14:840] :OUTPUT ACCEPT [30:2116] :POSTROUTING ACCEPT [0:0] -A POSTROUTING -o p1p1 -j MASQUERADE COMMIT # Completed on Tue Oct 16 09:55:31 2012 # Generated by iptables-save v1.4.14 on Tue Oct 16 09:55:31 2012 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [91:9888] […]