From: Nicolas B. <ni...@bo...> - 2006-03-03 20:26:23
|
Hi Frédéric, On Tue, 2006-02-28 at 22:12 +0100, Frédéric Leroy wrote: > Hello, > > I own an Apple Studio display without button to control it (which > integrates an usb hub) . > Long ago, I tried ddcci, without success. It was at alpha stage, without > graphical user interface, but the monitor didn't seem to support ddc > interface. It would be nice if you could check quickly that it still doesn't work .-) Just in case... So we are sure we don't do useless work .-) > The Apple display can be configured by usb. > Recently, I hacked libhid, go coding, and was able to change the > position of the screen :) > Now, I will code a usefull tool for these VESA usb controls(libhid > and/or kernel module, cli ?). Nice, btw, do you know this document: http://www.usb.org/developers/devclass_docs/usbmon10.pdf . It could be useful. > As it have the same purpose as ddc/ci, It would be great to share common > stuff. > I was thinking about a common library and/or command line interface for > ddc/usb in order to use the same gui/cli. Only one set of tool to > command each kind of monitor. > > Do you think we can do that ? I'am at early stage, so I am open to all > suggestion. As far as I know, controlling monitors using USB or DDC/CI is very similar (the only problem I see is caps string, but it's not a major issue). It also uses controls, and the protocols are very near, so we could keep the database, and most of the current program. So I think it is feasible to integrate USB support directly into ddccontrol, without having 2 sets of tools. I already played a little with HID usb devices, but I don't remember very well the details. I don't know where you got so far, but here are some questions: Could you explain how do you interact with the monitor? Do you need a specific driver, or HID usb module is enough? Do you need a library (libusb? libhid?), or could you directly open a device (/dev/hiddev* devices?)? Is it possible for a non-root user to write to the device (by setting the permissions to device?)? Needing a non-standard kernel module should be avoided, as it complicates installation (and packagers' work too). Using a standard kernel module like usbhid is ok. Needing a standard library like libusb is ok, libhid looks non-standard as far as I can tell (it is not even included in Gentoo), so avoid it if you can. I would be happy to help you add support for USB devices. When you have working code, it would be nice if you could send to the list some example programs (get monitor ID (or the complete EDID), read or write from a control, enumerate supported controls (all these are essential features), and everything else you found out that you think is interesting), and some example output. Then we will discuss how to integrate it in ddccontrol, and I'll give you a CVS access so you can work more freely. Thanks for your interest in this project, Meilleures salutations, Nicolas |