2009-06-23 19 views

Trả lời

1

Nó có thể là một chút hacky, nhưng nếu bạn nhìn vào danh sách các phần mở rộng được trả về từ Xsun và Xorg bạn sẽ thấy rằng Xorg có thêm một vài phần mở rộng XFree86 có nguồn gốc.

xdpyinfo có thể được sử dụng để liệt kê các tiện ích mở rộng thông qua dòng lệnh để kiểm tra sự khác biệt; theo lập trình, bạn có thể sử dụng XListExtensions() hoặc XQueryExtension().

(Tôi chưa có máy chủ Xsun X để bàn giao nhưng tôi khá chắc chắn khi tôi đã xem trong quá khứ họ có sự khác biệt khá nhiều).

+0

Chỉ Xsun mới có Adobe-DPS - Sun không bao gồm điều đó trong cổng Xorg của chúng tôi. – alanc

2
 
$ xdpyinfo | grep vendor 
vendor string: The X.Org Foundation 
vendor release number: 10601901 

Đây là máy chủ xorg 1.6.1 trên Linux. Hy vọng rằng XOrg và XSun trên Solaris sẽ khác nhau ở đây.

Để xuất hai trường này, xdpyinfo gọi ServerVendor macro để xác định nhà cung cấp, sau đó phân tích sự trở lại của VendorRelease macro khác nhau tùy thuộc vào những gì ServerVendor là.

Nhân tiện, điều gì là VendorString()? Tôi không có chức năng hoặc macro theo tên đó ...

0

Cảm ơn bạn! Rất tiếc, chuỗi VendorRelease(). Dù sao, tiếc là chúng tôi không thể đặt cược vào chuỗi này. Nó thay đổi thường xuyên đủ để có một rắc rối, cho Xsun cũng như cho Xorg. Tôi đã tìm thấy một giải pháp làm việc (hy vọng) cho họ và cho các máy chủ khác (có nguồn gốc) như Xvfb, Xnest, vv

Xsun sử dụng giá trị thứ ba trong một mảng các từ khóa cho KP_ (numpad). Xorg sử dụng 1-st hoặc 2-nd. Một sniffer đầu tiên, có được một mã khóa cho một KP_ keysym, ví dụ XK_KP_7, giây, sniff những gì có trong XKeycodeToKeysym (d, keycode, [0-3]). XK_KP_7 của chúng tôi sẽ nằm trên chỉ mục 2 cho Xsun.

+1

Chà, đó là cảm giác như một hack thậm chí xấu hơn giải pháp của Dave, nhưng miễn là nó hoạt động ...! – ephemient

+2

Điều này có vẻ như là một nơi tốt để viết một bài kiểm tra đơn vị! –

Các vấn đề liên quan