|
|

楼主 |
发表于 1-9-2009 09:41 PM
|
显示全部楼层
嗯...看来libusb-win32 并不适合...
可是我一直google都没有usb 的socket programming... 只有tcp/ip, 还是给usb的另有其名? |
|
|
|
|
|
|
|
|
|
|
发表于 1-9-2009 10:32 PM
|
显示全部楼层
USB是一个protocol 有所谓的handshaking, etc etc...
Host Controller就是在你PC里面(看看device manager > USB Controller...那些UHC & EHC)……主要是initiate device handshaking的……负责discover new device,control device使用的秩序,etc etc.....所以,很明显那个driver是给host用的。给device用的USB driver又是不同的……
简单来看,USB就像是server/client protocol。
说到socket programming……可能你误会了我的意思。在linux的空间来说,任何一个device(包括CPU/MEM/Ethernet...都是可以通过"socket"来communicate:request port access right (open port) -> read/write port (buffered) -> and so on……这个是一个很general term) 但是,socket programming都被泛指为TCP/IP的通讯。不过概念都一样……你的情况,要去看看USB怎样跑。但是,我不怎么认为你需要这么做。你用了synergy2吗?研究过它怎样操作吗?还有,可以再次讲过你的project concept……还是很模糊
我目前寻找到了usb的library, 叫libusb-win32, 但是研究了好久,找了很多资料,说它只能用在host controller... 我一直都搞不清楚这个是什么... 而且用它里面的usb_find_busses(),一直得到0而已. 我是否用错了呢? 我这个情况,是不是也算是host controller? 还是我应该写个hid?(当然我希望可以用library... )
我只能说,你用错了它的function……去读它们的documentation & example (一直拿到0,是因为你没有加/减 USB bus的关系)
你在PC执行的……你说呢?
HID不用你写(你的USB keyboard就是HID)……而是需要你去discover |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 1-9-2009 10:46 PM
|
显示全部楼层
原帖由 faiko 于 1-9-2009 10:32 PM 发表 
USB是一个protocol 有所谓的handshaking, etc etc...
Host Controller就是在你PC里面(看看device manager > USB Controller...那些UHC & EHC)……主要是initiate device handshaking的……负责discover ...
嗯..我读了它的documentation很久了..还跟他example一样写法,可是就只得到0...
还是我可以用COM port 来进行read and write 呢?(set baud rate, bit parity等,两边都用app, 一边write,一边read)
(在我project里,是没有使用到keyboard的...)synergy 2 我还没有拿来用,因为我不是要让两架电脑share同一个keyboard 或mouse... 目前最想懂的是,怎样把data寄过去,并且virtual keyboard怎么function -- typing in the active application.
[ 本帖最后由 原久美子 于 1-9-2009 10:54 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 1-9-2009 11:56 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 2-9-2009 05:17 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 3-9-2009 10:28 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 3-9-2009 04:42 PM
|
显示全部楼层
usb 根本上就没有TCP/IP socket...除非是接上usb Ethernet adapter...但是那已经是ethernet不是usb...
PC2PC via usb port 应该需要一个简单的电子回路链接的界面...不然的话根本不能直接经过usb来沟通....
但是我的电子不精帮不到你 |
|
|
|
|
|
|
|
|
|
|
发表于 4-9-2009 09:28 AM
|
显示全部楼层
有没有试试去了解Keyboard是怎样操作的?
为甚么Keyboard一接上PC,PC就能够Recognize你街接上的是Keyboard?
可能可以从不同的方向下手。
概念来说,可能你可以在PCA Develop一个类似Keyboard的Program,当你启动这个Program,它将模拟Keyboard和PC之间的Communication(通过USB)。当然,这是概念,需要Research。。。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 7-9-2009 12:00 AM
|
显示全部楼层
原帖由 eddom 于 4-9-2009 09:28 AM 发表 
有没有试试去了解Keyboard是怎样操作的?
为甚么Keyboard一接上PC,PC就能够Recognize你街接上的是Keyboard?
可能可以从不同的方向下手。
概念来说,可能你可以在PCA Develop一个类似Keyboard的Program,当你启 ...
对,我这几个星期一直寻找相关的资料,无奈只找到keyboard怎么detect key pressed action, BIOS 知道哪个key被按了,并将detect到的scan code转成ASCII,但是接下来的pc怎么根据该ASCII来display在屏幕上却找不到,怎么recognized keyboard也是找没有..
我看到一些资料,就是说如果要simulate keyboard 的话,就得放类似:mov al, 0x60 .... 但是这应该实现不到我要的plug and play式地send data 去pcB,对吧?(除非send datastream去pcB,在pcB 做类似的programming) |
|
|
|
|
|
|
|
|
|
|
发表于 13-9-2009 11:14 AM
|
显示全部楼层
最簡單的方法應該就用 .Net framework 的 keyboard.sendkey() 八
基本上妳的project 可以是
電腦A ======UDP=====>電腦B
把ascii code send 過去就可以了
兩個exe, 一個 textreader + udpsender, 一個 keyboardsimulater + udpreceiver.
以前做kiosk時有做過, 如果你需要source code 的話可以send 給你參考
[ 本帖最后由 我是色狼 于 13-9-2009 11:19 AM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 20-10-2009 03:18 PM
|
显示全部楼层
不知道这是不是你要的
可以去看看
http://www.hardwaresecrets.com/article/248/1 |
|
|
|
|
|
|
|
|
|
|
发表于 25-11-2009 09:17 AM
|
显示全部楼层
|
買條usb laplink cable,兩部電腦就相連了,還要什麼軟件,奇怪? |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|