GoGPT Best VPN GoSearch

Biểu tượng yêu thích OnWorks

xboxdrv - Trực tuyến trên đám mây

Chạy xboxdrv trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh xboxdrv có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


xboxdrv - Trình điều khiển trò chơi Xbox / Xbox360 hoạt động trong không gian người dùng

SYNOPSIS


xboxdrv [TÙY CHỌN] ... [-] [LỆNH] [BIỆN PHÁP]

MÔ TẢ


xboxdrv là một trình điều khiển cho Xbox và Xbox360 gamepads. Nó hoạt động bằng cách đọc dữ liệu thô từ
bộ điều khiển với libusb thư viện không gian người dùng và sau đó chuyển dữ liệu đã thông dịch tới
hạt nhân thông qua uinput. Điều này cho phép xboxdrv để cung cấp các thiết bị sự kiện và cần điều khiển thông thường,
điều này làm cho nó tương thích với tất cả các phần mềm Linux.

Ngoài trình điều khiển thuần túy, xboxdrv cũng bao gồm một tập hợp các tùy chọn cấu hình phong phú
cho phép bạn tinh chỉnh khả năng của các thiết bị đầu vào ảo mà xboxdrv sẽ tạo.
Điều này bao gồm ánh xạ lại nút và trục cơ bản, cũng như những thứ phức tạp hơn như
giả lập chuột và bàn phím, tự động bắn và mô phỏng điều khiển ga.

Nó cũng có thể cho xboxdrv để đọc dữ liệu đầu vào trực tiếp từ thiết bị sự kiện,
cho phép sử dụng khả năng cấu hình của xboxdrv trên các cần điều khiển PC thông thường, bàn phím và
chuột và do đó cho phép xboxdrv phục vụ một mục đích tương tự như niềm vui2key. Xem tùy chọn --evdev
dưới đây để biết thêm thông tin.

Khi một COMMAND được cung cấp xboxdrv sẽ khởi chạy ứng dụng đó và chạy đến đó
ứng dụng thoát. Đây là một chức năng tiện lợi giúp sử dụng xboxdrv dễ dàng hơn trong
các tập lệnh trình bao bọc. Xem phần [Viết kịch bản khởi động cho trò chơi] để biết thêm
thông tin.

LỰA CHỌN


CÁC VẤN ĐỀ CHUNG LỰA CHỌN
-h, --Cứu giúp
Hiển thị văn bản trợ giúp và thoát.

-V, - phiên bản
In số phiên bản và thoát.

-v, --dài dòng
In tin nhắn dài dòng.

--gỡ lỗi
Sau đó in nhiều tin nhắn dài hơn nữa --dài dòng.

-s, --im lặng
Không hiển thị các sự kiện của bộ điều khiển trên thiết bị đầu cuối. Để sử dụng thường xuyên, tùy chọn này
nên luôn được sử dụng vì dữ liệu đầu ra đến thiết bị đầu cuối có thể ngốn khá nhiều CPU.

--Yên lặng
Không hiển thị văn bản khởi động và chặn hầu hết các đầu ra khác.

--sự ưu tiên ƯU TIÊN
Các giá trị có thể có cho ƯU TIÊN là "bình thường" và "thời gian thực". Lập lịch thời gian thực mang lại
quy trình xboxdrv có mức ưu tiên cao hơn và do đó cho phép nó hoạt động bình thường ngay cả
khi máy thiếu tải.

Lưu ý rằng ưu tiên thời gian thực yêu cầu chạy xboxdrv dưới dạng root, khi chạy xboxdrv
với tư cách là người dùng, không có cách nào để tăng mức độ ưu tiên.

Tùy chọn này không được dùng nữa, hãy sử dụng chrt(1) thay vào đó để đạt được hiệu quả tương tự.

DANH SÁCH LỰA CHỌN
- trợ giúp
Liệt kê các giá trị có thể có cho đèn led.

- thiết bị trợ giúp
Liệt kê các thiết bị được hỗ trợ.

--list-hỗ trợ-thiết bị
Liệt kê các thiết bị được hỗ trợ (được sử dụng bởi xboxdrv-daemon.py).

--list-hỗ trợ-thiết bị-xpad
Liệt kê các thiết bị được hỗ trợ trong xpad.c phong cách.

--help-abs
Liệt kê tất cả các ký hiệu EV_ABS được phép.

--help-rel
Liệt kê tất cả các ký hiệu EV_REL được phép.

- phím trợ giúp
Liệt kê tất cả các ký hiệu EV_KEY được phép.

--help-x11keysym
Liệt kê tất cả các biểu tượng Kí hiệu phím X11 được phép.

- trục trợ giúp
Liệt kê tất cả các ký hiệu XboxAxis được phép.

--nút trợ giúp
Liệt kê tất cả các ký hiệu XboxButton được phép.

- trợ giúp tất cả
Liệt kê tất cả các ký hiệu có thể được sử dụng trong --ui-sơ đồ nút, --ui-axismap, --bản đồ
--sơ đồ trục. Tùy chọn này giống như --help-abs, --help-rel, - phím trợ giúp,
--help-x11keysym, - trục trợ giúp--nút trợ giúp.

CẤU HÌNH FILE LỰA CHỌN
-c, --config FILE
Đọc thông tin cấu hình từ FILE. Cấu hình từ tệp đang được xử lý
như thể chúng sẽ là các tùy chọn dòng lệnh ở vị trí của --config FILE.

Cú pháp của FILE là cú pháp INI quen thuộc được sử dụng cho nhiều tệp cấu hình.
Các cặp khóa / giá trị thông thường phải đi vào phần [xboxdrv]. '#' và ';' có thể được sử dụng
cho ý kiến. Tên khóa hầu hết có cùng tên với các tùy chọn dòng lệnh.
Các tùy chọn dòng lệnh lấy danh sách các ánh xạ đầu vào (--ui-buttonmap,
--ui-axismap, --evdev-absmap, ...) có thể được chia thành phần riêng của chúng cho
khả năng đọc tốt hơn.

ví dụ / thư mục chứa một số tệp cấu hình ví dụ.

[xboxdrv]
im lặng = sự thật
deadzone = 6000
dpad-as-button = true
trigger-as-button = true

[ui-sơ đồ trục]
x2 = REL_X: 10
y2 = REL_Y: -10
x1 = KEY_A: KEY_D
y1 = KEY_W: KEY_S

[ui-sơ đồ nút]
a = KEY_LEFTSHIFT
b = BTN_C
x = BTN_EXTRA
y = KEY_C

[ui-sơ đồ nút]
lb = BTN_RIGHT
rb = KEY_SPACE

[ui-sơ đồ nút]
lt = KEY_Z
rt = BTN_LEFT

[ui-sơ đồ nút]
dl = KEY_4
dr = KEY_2
du = REL_WHEEL: -1: 150
dd = REL_WHEEL: 1: 150

[ui-sơ đồ nút]
quay lại = KEY_TAB
start = KEY_ESC

#EOF #

--alt-config FILE
Một lối tắt để viết --next-config --config FILE.

Để tải nhiều tùy chọn cấu hình, hãy sử dụng:

xboxdrv --config first.ini --alt-config giây.ini --alt-config thứ ba.ini

-o, --Lựa chọn TÊN = GIÁ TRỊ
Đặt một tùy chọn như thể nó đến từ một tệp cấu hình từ dòng lệnh.

--write-config FILE
Viết một tệp cấu hình mẫu vào FILE.

DAEMON LỰA CHỌN
-D, --daemon
Chạy xboxdrv dưới dạng daemon. Nếu tùy chọn này được cung cấp xboxdrv sẽ lắng nghe udev cho USB
sự kiện kết nối và khởi chạy chuỗi trình điều khiển cho các bộ điều khiển mới được kết nối.

Các tùy chọn cấu hình vẫn có thể được cung cấp như bình thường. Tuy nhiên, lưu ý rằng xboxdrv
khi chạy dưới dạng daemon sẽ không tạo thiết bị uinput mới theo yêu cầu, thay vào đó nó sẽ
chỉ tạo thiết bị một lần khi khởi động cho các cấu hình đã cho và sau đó chỉ định
bộ điều khiển mới cho các cấu hình này. Mặc dù điều này có nghĩa là xboxdrv không thể hỗ trợ
số lượng bộ điều khiển không giới hạn, điều đó cũng có nghĩa là xboxdrv có thể cho phép cắm nóng
ngay cả đối với các ứng dụng không tự hỗ trợ, vì các ứng dụng sẽ chỉ
xem các tệp thiết bị vĩnh viễn, không phải bộ điều khiển mà xboxdrv sẽ thay đổi xung quanh
dưới mui xe.

Một cấu hình ví dụ hỗ trợ ba bộ điều khiển sẽ giống như sau:

xboxdrv --daemon \
# tùy chọn cấu hình cho bộ điều khiển đầu tiên
--bộ điều khiển tiếp theo \
# tùy chọn cấu hình cho bộ điều khiển thứ hai
--next-bộ điều khiển
# tùy chọn cấu hình cho bộ điều khiển thứ ba

--trận đấu tùy chọn có thể được sử dụng để giới hạn các khe cắm bộ điều khiển chỉ những
bộ điều khiển phù hợp với RULE đã cho và do đó được sử dụng để chỉ định cấu hình
chỉ cho các bộ điều khiển cụ thể.

--tách
Tách xboxdrv khỏi trình bao hiện tại, chỉ hợp lệ nếu --daemon được đưa ra.

--pid-tệp FILE
Ghi id quy trình daemon xboxdrv vào FILE.

--dbus XE BUÝT
Đặt loại xe buýt xboxdrv sẽ kết nối. Các giá trị được phép cho BUS là phiên,
hệ thống, bị vô hiệu hóa và tự động. Mặc định là tự động, sẽ phát hiện
loại bus tùy thuộc vào việc xboxdrv được chạy dưới dạng root (hệ thống hay với tư cách người dùng (phiên)).
Chạy khi bị vô hiệu hóa sẽ vô hiệu hóa hoàn toàn hỗ trợ D-Bus.

--on-kết nối EXE
Ra mắt EXE khi một bộ điều khiển được kết nối. Như các đối số "BUSDEV:DEVNUM",
"idVendor:idSản phẩm""TÊN được cung cấp.

- không ngắt kết nối EXE
Ra mắt EXE khi bộ điều khiển bị ngắt kết nối. Như các đối số "BUSDEV:DEVNUM",
"idVendor:idSản phẩm""TÊN được cung cấp.

THIẾT BỊ LỰA CHỌN
-L, --list-bộ điều khiển
Liệt kê các bộ điều khiển có sẵn trên hệ thống.

-i, --Tôi N
Sử dụng bộ điều khiển với id N (mặc định: 0), sử dụng --list-bộ điều khiển để có được một danh sách
bộ điều khiển có sẵn.

-w, --rộng N
Sử dụng bộ điều khiển không dây với wid N (mặc định: 0).

--theo từng thiết bị XE BUÝT: DEV
Sử dụng bộ điều khiển tại BUS: DEV, không thực hiện bất kỳ thao tác quét tự động nào. Hữu ích cho các trường hợp
khi một bộ điều khiển không được xboxdrv biết đến, nhưng hỗ trợ một trong các giao thức nhất định.

--theo-id thiết bị VENDOR: SẢN PHẨM
Sử dụng thiết bị phù hợp với VENDOR: PRODUCT (do lsusb). Hữu ích cho các trường hợp
khi một bộ điều khiển không được xboxdrv biết đến, nhưng hỗ trợ một trong các giao thức nhất định.

--kiểu LOẠI
Bỏ qua tự động phát hiện và thực thi loại bộ điều khiển. Các giá trị có thể có cho LOẠI:

· Xbox

· Xbox-mat

· Xbox 360

· Xbox360-không dây

· Xbox360-guitar

· Cơn bão lửa

· Firestorm-vsb

· Saitek-p2500

· Generic-usb

chung-usb loại là một loại đặc biệt sẽ hoạt động với bất kỳ bộ điều khiển USB nào, nó sẽ
tuy nhiên, không giải thích đầu vào mà nó nhận được, mà chỉ cần kết xuất nó vào bảng điều khiển để phát triển
mục đích. Nhìn thấy --generic-usb-spec của chúng tôi để biết thêm thông tin.

-d, --detach-kernel-driver
Tách trình điều khiển hạt nhân hiện được liên kết với thiết bị nhất định. Cái này
hữu ích khi bạn đã tải mô-đun xpad và muốn sử dụng xboxdrv mà không cần
dỡ bỏ nó.

--generic-usb-spec TÊN = GIÁ TRỊ, ...
Cho phép một người chỉ định từ điểm cuối nào chung-usb sẽ đọc. Các thông số kỹ thuật như
hình thức TÊN = GIÁ TRỊ, .... Các giá trị được phép là:

vid = HEX
Id nhà cung cấp của bộ điều khiển áp dụng thông số kỹ thuật này

pid = HEX
Id sản phẩm của bộ điều khiển áp dụng thông số kỹ thuật này

if = NUM ​​Giao diện mà GenericUSBController sẽ được đọc từ đó

ep = NUM ​​Điểm cuối mà GenericUSBController sẽ được đọc từ đó

EVDEV TÙY CHỌN
--evdev THIẾT BỊ
Cho phép bạn đọc dữ liệu đầu vào từ thiết bị tổ chức sự kiện thông thường. Điều này cho phép bạn sử dụng
xboxdrv trên các cần điều khiển PC thông thường. Dữ liệu được đọc từ thiết bị sự kiện là
được chuyển đổi nội bộ thành một đối tượng XboxMsg và sau đó chuyển qua cùng một
đường dẫn cấu hình như đối với bộ điều khiển Xbox360 thông thường. Điều này cho phép
bạn tận dụng tất cả khả năng cấu hình thông thường, nhưng giới hạn bạn ở số lượng
trục và các nút mà bộ điều khiển Xbox360 cung cấp.

Như một cần điều khiển PC thông thường, rất có thể sẽ tạo ra một / dev / input / jsX thiết bị của
chính nó, bạn có thể cần phải loại bỏ điều đó để một trò chơi sẽ phát hiện đúng cách
thiết bị cần điều khiển được tạo bởi xboxdrv. Cách dễ nhất để đạt được điều đó là đơn giản
xóa cần điều khiển cũ và đổi tên thiết bị xboxdrv được tạo ra để
/ dev / input / js0. Khi bạn sử dụng udev, thao tác này sẽ vô hại và
tự động đảo ngược chính nó khi bạn tháo bộ điều khiển và cắm lại hoặc
khi bạn khởi động lại máy tính.

--evdev-gỡ lỗi
Trình xử lý sự kiện evdev sẽ in tất cả các sự kiện đã nhận vào stdout, điều này làm cho nó
dễ dàng xem sự kiện nào mà một bộ điều khiển nhất định sẽ gửi.

--evdev-no-lấy
Theo mặc định, trình điều khiển evdev sẽ lấy thiết bị, do đó không thể
các ứng dụng khác để nhận các sự kiện từ thiết bị đó. Điều này được thực hiện để tránh
các ứng dụng gây nhầm lẫn, vì nếu không, một ứng dụng sẽ nhận được mọi sự kiện hai lần, một lần
từ thiết bị gốc và một lần từ xboxdrv ảo. Trong một số trường hợp, điều này
hành vi là không mong muốn, chẳng hạn như khi chỉ ánh xạ một tập hợp con không được xử lý khác của
các phím của thiết bị, tức là ánh xạ các phím đa phương tiện trên bàn phím, vì vậy tùy chọn này
tắt đi.

--evdev-absmap ABSMAP, ...
ABSMAP = EVDEV_ABS ["+", "-"] "=" XBOXAXIS;

Đặt cách các sự kiện evdev được ánh xạ tới các sự kiện trục Xbox. Một cấu hình ví dụ
sẽ trông như thế này:

--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RZ=x2,ABS_THROTTLE=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y

xboxdrv sẽ xuất ra khi khởi động một danh sách đầy đủ các tên sự kiện mà sự kiện đã cho
hỗ trợ thiết bị và có thể được sử dụng thay cho EVDEV_ABS.

Cũng có thể lập bản đồ nửa trục bằng lệnh như:

--evdev-absmap ABS_Y + = LT, ABS_Y- = RT

Điều này sẽ ánh xạ chuyển động đi lên của trục Y với trình kích hoạt bên trái và
chuyển động xuống đến trình kích hoạt bên phải.

--evdev-sơ đồ bàn phím BÀN PHÍM
Đặt cách các sự kiện evdev được ánh xạ tới các sự kiện trên bộ điều khiển Xbox. Một ví dụ
cấu hình sẽ như thế này:

--evdev-keymap BTN_TRIGGER = a, BTN_THUMB = b, BTN_THUMB2 = x

xboxdrv sẽ xuất ra khi bắt đầu một danh sách đầy đủ các tên sự kiện mà thiết bị sự kiện đã cho
hỗ trợ.

TÌNH TRẠNG LỰA CHỌN
-l, --dẫn đến NUM
Đặt trạng thái LED. Các giá trị có thể có cho NUM là:

LED Trạng thái Mã số

Hành vi Num
giảm 0
1 tất cả nhấp nháy
2 1 / nhấp nháy trên cùng bên trái, sau đó bật
3 2 / nhấp nháy trên cùng bên phải, sau đó bật
4 3 / nhấp nháy dưới cùng bên trái, sau đó bật
5 4 / nhấp nháy dưới cùng bên phải, sau đó bật
6 1 / trên cùng bên trái trên
7 2 / trên cùng bên phải trên
8 3 / dưới cùng bên trái trên
9 4 / dưới cùng bên phải trên
Xoay 10
11 cái nháy mắt
12 lần chớp mắt chậm hơn
13 xoay với hai đèn
14 cái nháy mắt
15 nháy một lần

--rumble-tăng SỐ TIỀN
Bạn có thể thay đổi độ mạnh của tiếng ồn thông qua:

$ xboxdrv --rumble-tăng 50%

Giá trị lớn hơn thì 100% cũng được và sẽ khuếch đại tiếng ầm ầm nhỏ
các lệnh, lệnh ầm ầm đã ở mức tối đa sẽ không thay đổi.

-q, --từ bỏ
Thoát xboxdrv sau khi thiết lập các giá trị LED hoặc ầm ầm.

CHATPAD LỰA CHỌN (THỰC NGHIỆM)
Hỗ trợ Chatpad vẫn đang trong giai đoạn thử nghiệm. Cách sử dụng bàn phím cơ bản sẽ hoạt động, tuy nhiên, có
hiện không hỗ trợ tùy chỉnh hoặc công cụ sửa đổi phím màu xanh lá cây và màu cam.

Khởi động xboxdrv nhiều lần liên tiếp với --chatpad tùy chọn có thể làm hỏng
bộ điều khiển. Rút phích cắm ra và cắm lại nên thiết lập lại.

--chatpad
Bật hỗ trợ cho Xbox360 Chatpad. CẢNH BÁO: Đây là mã sơ bộ, nó
sẽ làm hỏng gamepad của bạn khi xboxdrv được khởi động nhiều lần và sẽ không cung cấp
ánh xạ phím thích hợp cho bất kỳ âm sắc và ký tự đặc biệt nào.

--chatpad-no-init
Điều này sẽ bắt đầu hỗ trợ chatpad mà không gửi chuỗi init, do đó
có khả năng tránh làm hỏng bộ điều khiển nếu xboxdrv được khởi động nhiều lần.

--chatpad-gỡ lỗi
Xuất dữ liệu thô của chatpad ra stdout để gỡ lỗi.

TRỤ SỞ LỰA CHỌN (THỰC NGHIỆM, XBOX360 USB CHỈ CÓ)
Xboxdrv không hỗ trợ tai nghe, các tùy chọn bên dưới chỉ dành cho nhà phát triển và sẽ
kết xuất dữ liệu tai nghe thô, không phải tệp .wav.

- tai nghe
Bật hỗ trợ tai nghe và kết xuất dữ liệu đến vào stdout.

--tai nghe-kết xuất FILE
Bật hỗ trợ tai nghe và kết xuất dữ liệu đến FILE.

--tai nghe-chơi FILE
Bật hỗ trợ tai nghe và gửi FILE tới tai nghe để phát lại.

LỰC LƯỢNG PHẢN HỒI
--lực lượng phản hồi
Bật giao diện phản hồi lực hạt nhân tiêu chuẩn. Nó bị tắt theo mặc định là
nó gây ra sự cố với một số ứng dụng chạy trong Wine.

Vì bộ điều khiển Xbox360 chỉ hỗ trợ phản hồi ầm ầm chứ không phải phản hồi đầy đủ lực lượng, xboxdrv
cố gắng mô phỏng các hiệu ứng khác. Mô phỏng này chưa được thử nghiệm nhiều và có thể
không phải lúc nào cũng hoạt động như mong đợi. Báo cáo lỗi và trường hợp thử nghiệm được hoan nghênh.

Lưu ý rằng bạn luôn phải đóng ứng dụng đang sử dụng phản hồi cưỡng bức trước đó
bạn đóng trình điều khiển xboxdrv, nếu không, bạn có thể kết thúc với việc treo không
quá trình xboxdrv có thể làm gián đoạn sẽ yêu cầu khởi động lại để loại bỏ.

Khi sử dụng xboxdrv ở chế độ daemon với nhiều khe cắm bộ điều khiển, bạn phải bật
lực phản hồi cho từng khe riêng biệt.

--ff-thiết bị ID THIẾT BỊ
Chọn thiết bị ảo mà các cuộc gọi lại phản hồi cưỡng bức sẽ được kết nối với,
nó mặc định là cần điều khiển. Các giá trị được phép khác là chuột, bàn phím và bất kỳ số nguyên nào
con số. Nhìn thấy --ui-sơ đồ nút để biết thêm thông tin về cách hoạt động của id thiết bị.

-R, - ầm ầm nhất
Nhấn LT sẽ di chuyển động cơ ầm ầm bên trái và nhấn RT sẽ di chuyển sang phải
một. Sức mạnh của động cơ rung phụ thuộc vào mức độ bạn nhấn. Điều này hữu ích cho
kiểm tra động cơ ầm ầm.

-r, --lâu L, R
Đặt tốc độ cho cả hai động cơ ầm ầm. Các giá trị từ 0 đến 255 được chấp nhận,
mặc định là 0,0.

CONTROLLER SLOT LỰA CHỌN
Khe điều khiển được sử dụng khi chạy xboxdrv ở chế độ daemon. Mỗi vị trí đại diện cho một
hoàn chỉnh cấu hình bộ điều khiển. Nếu bạn muốn sử dụng nhiều bộ điều khiển trong chế độ daemon
bạn phải cung cấp nhiều khe điều khiển.

- khe điều khiển N
Chuyển sang khe điều khiển bằng số N, đánh số bắt đầu từ số không.

--next-bộ điều khiển
Chuyển sang khe điều khiển tiếp theo.

--trận đấu LUẬT LỆ,...
Giới hạn khe điều khiển cho các thiết bị phù hợp với bất kỳ một trong các quy tắc đã cho. Khả thi
quy tắc đối sánh là:

usbid =Người bán hàng:SẢN PHẨM
Khớp các bộ điều khiển có id sản phẩm và nhà cung cấp USB nhất định.

nhà cung cấp =Người bán hàng
Khớp các bộ điều khiển có idVendor USB đã cho.

sản phẩm =SẢN PHẨM
Khớp các bộ điều khiển có idProduct USB đã cho.

tài sản =BẤT ĐỘNG SẢN:VALUE
Khớp với một thuộc tính udev tùy ý, với tên BẤT ĐỘNG SẢN và giá trị
VALUE .

usbpath =XE BUÝT:KHỔNG LỒ
Khớp với đường dẫn USB được cung cấp bởi XE BUÝTKHỔNG LỒ.

usbserial =NỐI TIẾP
Khớp với số iSerial của USB.

--match-group LUẬT LỆ,...
Giới hạn khe điều khiển cho các thiết bị phù hợp với tất cả các quy tắc đã cho. Khả thi
quy tắc đối sánh giống như đối với --trận đấu.

CẤU HÌNH SLOT LỰA CHỌN
Bạn có thể sử dụng nhiều cấu hình, được gọi là khe cấu hình, với bộ điều khiển của mình. Bạn chuyển đổi
giữa nhiều cấu hình đó bằng cách nhấn nút Hướng dẫn theo mặc định, nhưng bạn có thể
cũng đặt một nút khác thông qua tùy chọn --chuyển đổi.

--config-khe cắm NUM
Chọn vị trí cấu hình NUM.

--next-config
Cho phép tạo cấu hình uinput thay thế mà một cấu hình có thể chuyển đổi
trong thời gian chạy bằng cách nhấn nút ui-toggle (mặc định là hướng dẫn).

$ xboxdrv \
--chuột \
--next-config
--ui-axismap X1 = ABS_X, Y1 = ABS_Y \
--ui-buttonmap A = JS_0, B = JS_1

Cấu hình trên sẽ cài đặt mô phỏng chuột làm cấu hình đầu tiên và
mô phỏng phím điều khiển đơn giản như cấu hình thứ hai. Cho phép chuyển đổi giữa các con chuột
giả lập và xử lý phím điều khiển bằng cách nhấn nút hướng dẫn.

Không phải cái đó --next-config hiện bị giới hạn ở chỉ những cấu hình được thực hiện với
--ui-sơ đồ nút--ui-axismap, tự động cháy, mô phỏng điều tiết, deadzones và tất cả
những thứ khác hiện không thể được chuyển đổi trong thời gian chạy.

--chuyển đổi XBOXBTN
Đặt nút sẽ được sử dụng để chuyển đổi giữa các
cấu hình. Giá trị 'void' sẽ vô hiệu hóa nút bật tắt. Nếu không chuyển đổi
nút được chỉ định, nút hướng dẫn sẽ được sử dụng để chuyển đổi giữa
cấu hình.

CẤU HÌNH LỰA CHỌN
--bổ nghĩa MOD
Thêm một công cụ sửa đổi vào ngăn xếp công cụ sửa đổi, xem [Công cụ sửa đổi] để biết danh sách đầy đủ
bổ nghĩa.

--hết giờ MSEC
Chỉ định số mili giây mà xboxdrv sẽ đợi các sự kiện từ
bộ điều khiển trước khi tiếp tục và xử lý những thứ như tự động bắn hoặc trục tương đối.
Giá trị mặc định là 10, các giá trị nhỏ hơn sẽ cung cấp cho bạn chế độ tự động kích hoạt có độ phân giải cao hơn và
sự kiện di chuyển tương đối, nhưng sẽ lãng phí thêm một số CPU.

-NS, --bản đồ BUTTON = NÚT, ...
Ánh xạ lại nút có sẵn thông qua --bản đồ Lựa chọn. Nếu bạn muốn hoán đổi
nút A và B bắt đầu bằng:

$ xboxdrv --buttonmap A = B, B = A

Nếu bạn muốn tất cả các nút mặt gửi sự kiện nút A:

$ xboxdrv --buttonmap B = A, X = A, Y = A

Các tên nút có thể có là (bí danh nằm trong ngoặc đơn):

nút tên

┌──────────────────────────────────── ────────────────────┐
│Tên │ Mô tả │
├──────────────────────────────────── ────────────────────┤
Nút │start, back │ start, back │
├──────────────────────────────────── ────────────────────┤
│ hướng dẫn │ nút X lớn ở giữa │
│ │ (chỉ Xbox360) │
├──────────────────────────────────── ────────────────────┤
a(1) b(2) x(3) y(4) │ nút mặt │
├──────────────────────────────────── ────────────────────┤
Các nút │ đen, trắng │ đen, trắng (Xbox1 │
│ │ chỉ, ánh xạ tới lb, rb trên │
│ │ Xbox360) │
├──────────────────────────────────── ────────────────────┤
lb(5) rb(6) │ nút vai (chỉ Xbox360, │
│ │ được ánh xạ sang màu đen, trắng trên Xbox1) │
├──────────────────────────────────── ────────────────────┤
lt(7) rt(8) │ kích hoạt tương tự (cần │
│ │ --tùy chọn kích hoạt dưới dạng nút) │
├──────────────────────────────────── ────────────────────┤
│tl, tr │ nhấn trái hoặc phải │
│ │ thanh tương tự │
├──────────────────────────────────── ────────────────────┤
Chỉ đường │du (lên), dd (xuống), dl (trái), │ dpad (cần │
│dr (phải) │ --dpad-as-button option) │
├──────────────────────────────────── ────────────────────┤
│ màu xanh lá cây, đỏ, vàng, xanh lam, cam │ nút guitar │
└──────────────────────────────────── ────────────────────┘
Cũng giống như với --ui-sơ đồ nút bạn có thể thêm bộ lọc nút cho mỗi nút.

--sơ đồ trục TRỤC = SƠ ĐỒ, ...
Ánh xạ trục có sẵn thông qua --axismap và hoạt động giống như ánh xạ nút. Trong
ngoài ra, bạn có thể cung cấp một dấu hiệu để chỉ ra rằng một trục phải được đảo ngược. Vì vậy nếu
bạn muốn đảo ngược trục y1 bắt đầu bằng:

$ xboxdrv --axismap -Y1 = Y1

Nếu bạn muốn hoán đổi thanh bên trái và bên phải, hãy bắt đầu bằng:

$ xboxdrv --axismap X2=X1,Y2=Y1,X1=X2,Y1=Y2

Các tên trục có thể có là: x1, y1, x2, y2, lt, rt

Việc hoán đổi lt hoặc rt với x1, y1, x2, y2 sẽ không hoạt động bình thường, vì phạm vi của chúng là
khác nhau.

Cũng giống như với --ui-axismap bạn có thể thêm bộ lọc trục cho mỗi trục.

THAY ĐỔI CỬA HÀNG CẤU HÌNH LỰA CHỌN
Các tùy chọn trong phần này là các phím sắp xếp cho --bổ nghĩa tùy chọn. không giống --bổ nghĩa họ
không phụ thuộc vào thứ tự, nhưng có một thứ tự xác định trước được sử dụng bất kể thứ tự trong
mà các tùy chọn được đưa ra.

--tự động bắn NÚT = FREQUENCY, ...
Ánh xạ tự động bắn cho phép bạn để một nút tự động kích hoạt với một
tần số tính bằng mili giây:

$ xboxdrv --autofire A = 250

Kết hợp --tự động bắn với bản đồ nút cho phép bạn có một nút hoạt động như tự động bắn
trong khi một cái khác, phát ra cùng một tín hiệu, hoạt động bình thường.

$ xboxdrv --autofire B = 250 --buttonmap B = A

- nhạy cảm với điều hòa TRỤC = ĐỘ NHẠY CẢM, ...
Độ nhạy của trục có thể được điều chỉnh thông qua --axis-sensitivty:

$ xboxdrv --axis-sensitivty X1 = -1.0, Y1 = -1.0

Giá trị 0 cung cấp cho bạn độ nhạy tuyến tính mặc định, các giá trị lớn hơn thì 0 sẽ
cung cấp cho bạn độ nhạy cao hơn, trong khi các giá trị nhỏ hơn 0 sẽ cung cấp cho bạn
nhạy cảm. Các giá trị độ nhạy trong phạm vi [-1, 1] thường sẽ cho kết quả tốt
kết quả, mọi thứ ngoài đó sẽ không có nhiều giá trị sử dụng trong thực tế.

Độ nhạy hoạt động bằng cách áp dụng:

t = 2 ** độ nhạy;
pos = (1.0f - (1.0f - pos)**t)**(1/t);

Đối với giá trị của trục, điều này có nghĩa là cả giá trị nhỏ nhất và giá trị lớn nhất
giá trị của trục sẽ luôn giữ nguyên, chỉ là phản hồi giữa các thay đổi.

Để biết một cách hoàn chỉnh dạng tự do để thay đổi phản ứng trục, hãy xem Phản ứng Đường cong
Lọc.

--sự định cỡ HIỆU CHUẨN
Nếu gamepad của bạn vì một lý do nào đó không thể đạt được giá trị tối đa hoặc không được căn giữa
đúng cách, bạn có thể khắc phục điều đó thông qua các tùy chọn hiệu chuẩn:

$ xboxdrv - hiệu chỉnh X2 = -32768: 0: 32767

X2 là tên trục và ba giá trị theo sau là min, center và max.
Chỉ cần chèn các giá trị jstest báo cáo khi trục của bạn nằm trong
vị trí.

Bạn cũng có thể sử dụng tùy chọn hiệu chỉnh nếu bạn muốn làm cho cần điều khiển của mình nhiều hơn
nhạy cảm. Một thiết lập của:

xboxdrv - hiệu chỉnh AXIS = MIN: CENTER: MAX, ...

Sẽ khiến thiết bị cần điều khiển báo cáo vị trí tối đa khi thanh của bạn chỉ
đã di chuyển được một nửa quãng đường.

--vùng nguy hiểm NUM
Vùng chết là vùng mà các gậy không báo cáo bất kỳ sự kiện nào. Mặc định
bằng XNUMX, mang lại độ nhạy tốt nhất nhưng cũng có thể gây rắc rối ở một số
trò chơi trong đó nhân vật hoặc máy ảnh có thể di chuyển mà không cần di chuyển thanh. Sửa chữa
cái này phải đặt giá trị cao hơn:

$ xboxdrv --deadzone 4000

Giá trị 4000 hoạt động khá tốt cho hầu hết các trò chơi.

Bạn cũng có thể cung cấp cho vùng chết theo tỷ lệ phần trăm:

$ xboxdrv --deadzone 15%

--deadzone-kích hoạt NUM
Trình kích hoạt bên trái và bên phải có một giá trị vùng chết riêng biệt có thể được chỉ định
với:

$ xboxdrv --deadzone-kích hoạt 15%

- bàn phím xoay TRÌNH ĐỘ
Cho phép bạn xoay bàn di chuột. TRÌNH ĐỘ phải là bội số của 45. Điều này có thể hữu ích
trong các trò chơi đẳng áp trong đó sân chơi tự quay, do đó:

xboxdrv - bàn phím xoay 45

Sẽ cung cấp cho bạn các điều khiển liên quan đến nhân vật của bạn thay vì
quan điểm.

- giới hạn bốn chiều
- giới hạn bốn chiều tùy chọn cho phép một trong những giới hạn chuyển động trên cả hai
các phép tương tự chỉ bốn hướng (lên, xuống, trái, phải), các đường chéo
(lên / trái, lên / phải, xuống / trái, xuống / phải) được lọc ra khỏi đầu ra. Cái này
tùy chọn hữu ích cho các trò chơi chẳng hạn như Tetris, không cần đường chéo và nơi bạn
không muốn vô tình kích hoạt di chuyển xuống trong khi cố gắng thực hiện trái / phải
di chuyển.

- trục tương đối TRỤC = NUM, ...
Các chức năng - trục tương đối cho phép bạn thay đổi hành vi của một trục để
việc bạn di chuyển nó sẽ làm giá trị của nó lên hoặc xuống thay vì áp dụng nó một cách trực tiếp.
Điều này cho phép bạn mô phỏng điều khiển ga cho các trò chơi máy bay.

Vì trục có thể bị lộn ngược, bạn có thể muốn sử dụng --sơ đồ trục chức năng
để đảo ngược nó.

$ xboxdrv - trục tương đối y2 = 64000 - bản đồ sai lệch -y2 = y2

- trục ngang
Gamepad Xbox360, giống như hầu hết các gamepad hiện nay khác, có hình tròn
phạm vi chuyển động, hạn chế chuyển động để khoảng cách đến trung tâm
không bao giờ vượt quá 1. Điều này có nghĩa là khi bạn có bộ điều khiển ở trên cùng / bên trái
giá trị được báo cáo là (0.7, 0.7) (tức là chiều dài 1, góc 45) thay vì (1,1). Cái này
hành vi khác với hầu hết các cần điều khiển PC cổ điển, có phạm vi hình vuông và
sẽ báo cáo (1,1) khi giữ ở góc trên cùng / bên trái.

Một số trò chơi cũ (tức là chủ yếu là nội dung DOS) yêu cầu phạm vi chuyển động vuông và sẽ không
hoạt động bình thường với gamepad Xbox360. Thông qua - trục ngang tùy chọn bạn có thể
giải quyết vấn đề này và đường chéo sẽ được báo cáo là (1,1).

UINPUT CỬA HÀNG CẤU HÌNH LỰA CHỌN
Các tùy chọn sau đây là các phím tắt đơn giản cho các cấu hình phổ biến có thể
hoàn thành thủ công bằng cách sử dụng --ui-sơ đồ nút--ui-axismap.

--kích hoạt dưới dạng nút
Nút gửi LT và RT thay vì các sự kiện trục

--trigger-as-zaxis
Kết hợp LT và RT để tạo thành zaxis thay thế

--dpad-as-button
DPad gửi nút thay vì các sự kiện trục.

--chỉ dành cho bàn di chuột
Cả hai gậy đều bị bỏ qua, chỉ DPad gửi ra các sự kiện trục. Hữu ích cho các trò chơi
có thể bị nhầm lẫn bởi trục tương tự bổ sung. Kết hợp tùy chọn này với
--kích hoạt dưới dạng nút được khuyến nghị trong hầu hết các tình huống.

--đàn ghi ta
Đặt nút xác định trước và ánh xạ trục để sử dụng với bộ điều khiển guitar. Cái này
chủ yếu là loại bỏ một số nút và trục không cần thiết không được sử dụng bởi một cây đàn guitar
người điều khiển.

-NS, --chuột
Cho phép bộ điều khiển hoạt động như một con chuột. Nó không phụ thuộc vào:

$ xboxdrv \
--dpad-as-button
--vùng chết 4000
--trigger-as-zaxis
--axismap "-y2 = y2, -trigger = trigger"
--ui-axismap "x1=REL_X:15:20,y1=REL_Y:15:20,y2=REL_WHEEL:5:100,x2=REL_HWHEEL:5:100,trigger=REL_WHEEL:5:100"
--ui-buttonmap "a = BTN_LEFT, b = BTN_RIGHT, x = BTN_MIDDLE, y = KEY_ENTER, rb = KEY_PAGEDOWN, lb = KEY_PAGEUP,"
--ui-buttonmap "dl = KEY_LEFT, dr = KEY_RIGHT, du = KEY_UP, dd = KEY_DOWN,"
--ui-buttonmap "start = KEY_FORWARD, back = KEY_BACK, guide = KEY_ESC, tl = void, tr = void"

Bạn có thể tùy chỉnh nó bằng cách thông thường, chỉ cần đảm bảo rằng --chuột đến trước
các tùy chọn tùy chỉnh của bạn trên dòng lệnh.

Lưu ý rằng nếu bạn đã chuyển các nút chuột, bạn phải điều chỉnh ở trên để
phù hợp với cấu hình chuột của bạn nếu không các sự kiện nút sẽ xuất hiện sai.

--mimic-xpad
Khiến xboxdrv sử dụng cùng trục và tên nút làm trình điều khiển nhân xpad cho
bộ điều khiển Xbox360 có dây

--mimic-xpad-không dây
Khiến xboxdrv sử dụng cùng trục và tên nút làm trình điều khiển nhân xpad cho
bộ điều khiển Xbox360 có dây

UINPUT CẤU HÌNH LỰA CHỌN
--không có đầu vào
Không khởi động UInput, thay vào đó chỉ cần đọc các sự kiện từ bộ điều khiển, hữu ích cho
gỡ lỗi.

- không có thiết bị phụ
Theo mặc định xboxdrv sẽ phân bổ nhiều thiết bị uinput và sắp xếp các sự kiện cho từng
họ. Do đó, các sự kiện liên quan đến chuột như BTN_LEFT hoặc REL_X sẽ chuyển đến chuột ảo
thiết bị, trong khi các sự kiện ABS_X sẽ chuyển đến thiết bị cần điều khiển ảo và KEY_ESC sẽ
chuyển đến thiết bị bàn phím ảo.

Tùy chọn này vô hiệu hóa chế độ tự động hóa đó và tất cả các sự kiện sẽ chuyển đến cùng một ảo
thiết bị.

Gán thủ công cho một thiết bị cụ thể (tức là bàn phím KEY_ESC @, cần điều khiển BTN_A @,
...) vẫn có thể.

- không có sự kiện bổ sung
Theo mặc định xboxdrv sẽ phân bổ nhiều thiết bị uinput và sắp xếp các sự kiện cho từng
họ. Do đó, các sự kiện liên quan đến chuột như BTN_LEFT hoặc REL_X sẽ chuyển đến chuột ảo
thiết bị, trong khi các sự kiện ABS_X sẽ chuyển đến thiết bị cần điều khiển ảo và KEY_ESC sẽ
chuyển đến thiết bị bàn phím ảo.

Để đảm bảo rằng chuột, bàn phím hoặc thiết bị cần điều khiển được phát hiện đúng cách bằng
Xorg, kernel hoặc các thư viện SDL xboxdrv như vậy sẽ chèn thêm các sự kiện giả. Vì
ví dụ một thiết bị chuột cần các sự kiện REL_X và REL_Y được phát hiện như vậy, nhưng
cấu hình chỉ muốn mô phỏng các nút chuột sẽ không cung cấp những cấu hình đó,
do đó xboxdrv sẽ tự động thêm chúng. Các - không có sự kiện bổ sung tùy chọn sẽ chuyển đổi
hành vi này tắt.

--Tên thiết bị TÊN
Thay đổi tên mô tả mà thiết bị sẽ có. Tùy chọn này hoạt động giống như
--tên thiết bị RÚT HIỆN TẠI.auto =TÊN

--tên thiết bị TYPE.SLOT = NAME, ...
Thay đổi tên mô tả mà thiết bị sẽ có. LOẠI là một trong những chuột, bàn phím,
phím điều khiển, tự động hoặc một số. SLOT là một số vị trí hoặc tự động. Tên tự động hoạt động như
thẻ hoang dã và phù hợp với mọi thứ.

--thiết bị-usbid XU HƯỚNG: SẢN PHẨM: PHIÊN BẢN: XE BUÝT
Thay đổi nhà cung cấp, sản phẩm, phiên bản và id bus mà thiết bị sẽ có. Cuối cùng
hai đối số là tùy chọn. Tùy chọn này hoạt động giống như --device-usbids
RÚT HIỆN TẠI.auto =XU HƯỚNG: SẢN PHẨM: PHIÊN BẢN: XE BUÝT

--thiết bị-usbid TYPE.SLOT = VENDOR: SẢN PHẨM: PHIÊN BẢN: XE BUÝT, ...
Thay đổi nhà cung cấp, sản phẩm, phiên bản và id bus mà thiết bị sẽ có. LOẠI là một
chuột, bàn phím, phím điều khiển, tự động hoặc một số. SLOT là một số vị trí hoặc tự động. Các
tên tự động hoạt động như thẻ đại diện và khớp với mọi thứ.

--ui-xóa
Loại bỏ tất cả các ánh xạ đầu vào và sẽ để trình điều khiển ở trạng thái trống và chỉ có bản đồ
những thứ bạn đã tự thêm vào. Nếu bạn chỉ muốn loại bỏ các nút riêng lẻ
bạn có thể sử dụng sự kiện 'void'.

--ui-sơ đồ nút UIBUTTONSPEC, ...
UIBUTTONSPEC = XBOXBUTTON ["+" XBOXBUTTON] ["^" FILTER] ... "=" (RELSPEC | BTNSPEC | EXECSPEC);
RELSPEC = [DEVICEID "-"] "REL_" [":" [VALUE] [":" REPEAT]];
BTNSPEC = [DEVICEID "-"] (("BTN_" TÊN) | ("KEY_" TÊN)) {"+" BTNSPEC};
EXECSPEC = PROGRAM {":" ARGUMENT};
XBOXBUTTON = "a" | "b" | "x" | "y" | "lb" | "rb" | "lt" | "rt" |
"tl" | "tr" | "bắt đầu" | "chọn" | "trở lại" | "hướng dẫn" | "đen" | "trắng" ;
FILTER = "chuyển đổi" | "đảo ngược" | "autofire" [":" RATE] [":" DELAY] | log [":" STRING];
TÊN = STRING;
GIÁ TRỊ = SỐ;
LẶP LẠI = SỐ;
DEVICEID = NUMBER;

Cho phép bạn thay đổi mã sự kiện được gửi tới hạt nhân cho các nút. Các
cách sử dụng tương tự như ánh xạ nút thông thường, ngoại trừ phía bên tay phải
một tên sự kiện từ /usr/include/linux/input.h. Bạn có thể sử dụng tất cả CHÌA KHÓA_ or BTN_ mã số
cho --ui-sơ đồ nút.

Nếu bên phải để trống, tất cả các bộ lọc được cung cấp sẽ được thêm vào
đã tồn tại nút ràng buộc thay vì một nút mới.

Ngoài các khóa được đặt tên, bạn cũng có thể cung cấp mã đầu vào trực tiếp dưới dạng số thông qua
cú pháp CHÌA KHÓA_#NUM.

Thay vì mức thấp CHÌA KHÓA_ tên, đại diện cho mã khóa, bạn cũng có thể sử dụng
Phím phím X11 cấp cao hơn XK_, các phím bấm có lợi thế là chúng ánh xạ trực tiếp
với chìa khóa bạn mong đợi, trong khi CHÌA KHÓA_ tên bị xáo trộn bởi sơ đồ bàn phím X11 và sẽ
thường không báo cáo những gì bạn mong đợi trong trường hợp bạn sử dụng sơ đồ bàn phím khác
bàn phím của bạn (tức là dvorak trên bàn phím qwerty).

Có thể chọn danh sách đầy đủ các keyyms X11 hợp lệ với --help-x11keysym.

Đối với các nút cần điều khiển, ngoài các nút BTN_JOYSTICK, BTN_X, v.v. macro
cái tên đặc biệt JS_ $ NUM, đặt nút đã cho thành nút cần điều khiển $ NUMS,
I E:

$ xboxdrv --ui-clear --ui-buttonmap A = JS_0, B = JS_1

Lưu ý rằng điều này sẽ chỉ hoạt động nếu không có id nút điều khiển nào khác cản trở.

Bạn cũng có thể ánh xạ một nút tới một REL_ biến cố. Trong trường hợp đó, bạn có thể cung cấp thêm
paramaters ở dạng:

$ xboxdrv --ui-buttonmap X = REL _ ???: VALUE: REPEAT

VALUE cung cấp giá trị của sự kiện (mặc định: 10)

NÓI LẠI cung cấp số mili giây trôi qua trước khi sự kiện được kích hoạt lại
(mặc định: 5)

Sự kiện 'void' đặc biệt cho phép bạn xóa mọi ràng buộc hiện có cho một
, có thể hữu ích trong trường hợp một trò chơi chỉ hỗ trợ một số
nút.

Bạn cũng có thể thêm device_id vào UIBUTTONSPEC để cho phép bạn tạo
nhiều thiết bị đầu vào. Theo mặc định, 'tự động' được giả định là device_id
tự động cố gắng làm điều đúng, gửi các sự kiện bàn phím tới bàn phím
sự kiện thiết bị và chuột đến thiết bị chuột. Các giá trị có thể có khác là 'mouse' và
'bàn phím'. Device_id của '0' đề cập đến thiết bị cần điều khiển đầu tiên, các giá trị lớn hơn
sau đó là 0 đến thứ hai, thứ ba, v.v.

Lưu ý rằng tên device_id 'mouse' và 'keyboard' không cung cấp cho bạn một con chuột hoặc
thiết bị bàn phím, đây chỉ là những tên tượng trưng cho các thiết bị mà xboxdrv
sẽ sắp xếp các sự kiện giống như sự kiện chuột hoặc bàn phím. Quyết định cuối cùng
thiết bị nào được xử lý như những gì sẽ được thực hiện bởi Kernel hoặc Xorg tùy thuộc
về những sự kiện mà một thiết bị cung cấp.

Một cấu hình ví dụ sử dụng device_id sẽ trông như thế này:

xboxdrv -s \
--ui-xóa \
--ui-buttonmap A=JS_0@0,B=JS_1@0 --ui-axismap X2=ABS_X@0,Y2=ABS_Y@0
--ui-buttonmap X=JS_0@0,Y=1-JS_1@0 --ui-axismap X2=ABS_X@1,Y2=ABS_Y@1

Trong ví dụ này, thanh bên trái tạo ra một thiết bị cần điều khiển và thanh bên phải
tạo ra một thiết bị cần điều khiển riêng biệt.

Khi sử dụng nhiều khe điều khiển, bạn cũng có thể nối thêm id khe và
do đó chỉ định các sự kiện trên các ranh giới của bộ điều khiển. Cú pháp cho điều đó là:

BTN_A@{deviceid}.{slotid}

Thay vì chỉ đưa ra một nút duy nhất, cũng có thể cung cấp hai nút cho
--ui-sơ đồ nút để cho phép chuyển dịch:

xboxdrv -s \
--ui-xóa \
--ui-buttonmap A = JS_0, B = JS_1, LB + A = JS_2, LB + B = JS_3

Trong ví dụ này, LB hoạt động như một nút shift, nếu A được nhấn mà không có LB, nó sẽ gửi
ra một sự kiện JS_0, nhưng nếu LB được nhấn, nó sẽ gửi một sự kiện JS_2 thay thế. Cái này
cho phép bạn nhân số lượng các nút có sẵn trên bộ điều khiển.

Xem phần KHẨN CẤP BÀN PHÍM bên dưới về cách giải quyết vấn đề với Xorg không
phát hiện bàn phím ảo mà xboxdrv tạo.

Bạn cũng có thể áp dụng bộ lọc cho các sự kiện nút:

xboxdrv -s \
--ui-buttonmap A ^ toggle = JS_0

Để biết tài liệu về các bộ lọc, bạn có thể áp dụng cho các sự kiện, hãy xem [Bộ lọc Nút].

--ui-axismap UIAXISSPEC, ...
UIAXISSPEC = [XBOXBTN "+"] XBOXAXIS {"^" FILTER} "=" (RELSPEC | RELREP | KEYSPEC | ABSSPEC);
KEYSPEC = ["key:"] "KEY_" NAME ":" "KEY_" NAME ":" THRESHOLD;
RELSPEC = ["rel:"] "REL_" TÊN ":" GIÁ TRỊ ":" LẶP LẠI;
RELREP = "rel-repeat:" "REL_" NAME ":" VALUE ":" REPEAT;
ABSSPEC = ["abs:"] "ABS_" NAME;
FILTER = ("hiệu chỉnh" | "cal") ":" MIN ":" TRUNG TÂM ":" MAX |
("nhạy cảm" | "sen") ":" ĐỘ NHẠY CẢM |
("deadzone" | "dead") ":" MIN ":" MAX ":" SMOOTH |
("tương đối" | "rel") ":" TỐC ĐỘ |
("responseecurve" | "response" | "resp") {":" VALUE}
XBOXBTN = "a" | "b" | "x" | "y" | "bắt đầu" | "trở lại" | "hướng dẫn" | "lb" | "rb" | ...
XBOXAXIS = "x1" | "y1" | "x2" | "y2" | "z" | "lt" | "rt" | "dpad_x" | "dpad_y";
GIÁ TRỊ = SỐ;
LẶP LẠI = SỐ;
THRESHOLD = NUMBER;
TÊN = STRING;

Tương tự như --ui-sơ đồ nút tùy chọn này cho phép bạn thay đổi mã sự kiện
gửi tới hạt nhân cho các trục. Các sự kiện có sẵn cũng giống như cho
--ui-sơ đồ nút.

$ xboxdrv --ui-axismap X1 = REL _ ???: VALUE: REPEAT

VALUE cho giá trị lớn nhất của sự kiện, giá trị thực tế được gửi là
VALUE * axis_state. (mặc định: 10)

NÓI LẠI cung cấp số mili giây trôi qua trước khi sự kiện được kích hoạt lại
(mặc định: 5).

Giá trị -1 có ý nghĩa đặc biệt, nó sẽ dẫn đến sự kiện REL bị bắn
càng sớm càng tốt (tức là mọi thời gian chờ mili giây). Đây là cách giới thiệu
để xử lý mô phỏng chuột, vì nó sẽ giữ cho các sự kiện REL được đồng bộ hóa và do đó tránh
răng cưa trong chuyển động, điều đó sẽ dẫn đến việc chỉ định thời gian chờ theo cách thủ công.

$ xboxdrv --ui-axismap X1 = KEY_UP: KEY_DOWN: THRESHOLD

KEY_UP cung cấp cho mã khóa được gửi khi trục được di chuyển lên

KEY_DOWN cung cấp cho mã khóa được gửi khi trục được di chuyển xuống

THRESHOLD đưa ra ngưỡng kích hoạt việc gửi một sự kiện

Giống như --ui-sơ đồ nút, bạn cũng có thể sử dụng các phím shift thay cho XBOXAXIS:

$ xboxdrv --ui-axismap X1 = ABS_X, LB + X1 = ABS_RX

Điều này cho phép bạn gửi sự kiện ABS_X bình thường và sự kiện ABS_RX khi nút LB
được giữ lại.

Để biết thông tin về cách sử dụng bộ lọc trục, hãy xem [Bộ lọc trục].

ĐẦU VÀO TRƯỜNG NGƯỜI XỬ LÝ


Trình xử lý sự kiện đầu vào quyết định điều gì xuất hiện từ các thiết bị đầu vào ảo mà xboxdrv
tạo ra. Ví dụ, họ quyết định rằng khi nút A được nhấn trên gamepad, thì
bàn phím ảo sẽ phát ra một lần nhấn phím khoảng trắng.

Hơn nữa, trình xử lý sự kiện đầu vào cũng có thể thực hiện một số biến đổi cơ bản của đầu vào
tín hiệu, do đó cần điều khiển có thể được sử dụng để gửi các phím WASD.

NÚT TRƯỜNG NGƯỜI XỬ LÝ
Một trình xử lý sự kiện nút quyết định điều gì sẽ xảy ra khi một nút được nhấn, nó cần phải
được chỉ định với --ui-sơ đồ nút Lựa chọn. Ví dụ dưới đây cho thấy trường hợp sử dụng đơn giản nhất:

$ xboxdrv --ui-buttonmap A = key: KEY_A

Đây chính là tên của trình xử lý sự kiện nút, trong khi KEY_A là một đối số cho sự kiện
người xử lý. Loại đối số nào mà trình xử lý sự kiện cho phép phụ thuộc vào trình xử lý sự kiện.

Ngoài ra còn có một dạng viết tắt để chỉ định trình xử lý sự kiện bằng cách viết:

$ xboxdrv --ui-buttonmap A = KEY_A

Ở đây không có trình xử lý nào được chỉ định rõ ràng, nếu đúng như vậy, trình xử lý thích hợp sẽ
được đoán dựa trên loại sự kiện. Các sự kiện EV_KEY sẽ được xử lý bởi chính xử lý,
EV_REL bởi rel trình xử lý và EV_ABS bởi abs người xử lý.

chính:SỰ KIỆN CHÍNH, chính:SỰ KIỆN CHÍNH:SỰ KIỆN CHÍNH:HOLD_THRESHOLD_MSEC
chính trình xử lý là trình xử lý cơ bản nhất, nó ánh xạ trực tiếp một nút với một khóa ảo
hoặc một nút khác.

Nếu các đối số bổ sung được cung cấp, nút sẽ có thể gửi ra hai
các sự kiện khác nhau. Sự kiện đầu tiên được chỉ định sẽ được gửi khi nút được nhấp
thông thường, trong khi sự kiện thứ hai sẽ được gửi trong trường hợp nút được giữ để
thời gian được chỉ định trong HOLD_THRESHOLD_MSEC.

Một ví dụ cho nút giữ sẽ giống như sau:

xboxdrv \
--ui-buttonmap A = JS_0: JS_1: 500

Điều này sẽ gửi các sự kiện JS_0 khi nút được nhấn và chuyển sang các sự kiện JS_1
khi nút được giữ trong 500 mili giây.

Tính năng nút giữ rất hữu ích để tăng gấp đôi số lượng có sẵn
các nút, do đó, ví dụ, dpad có thể được sử dụng để gửi ra tám nút khác nhau
sự kiện thay vì chỉ bốn, đủ để xử lý vũ khí trong hầu hết các trò chơi FPS.

abs chưa được thực hiện

rel:REL_SỰ KIỆN:VALUE :NÓI LẠI
Trình xử lý quan hệ sẽ gửi một sự kiện REL bất cứ khi nào nút được nhấn. VALUE
cung cấp giá trị của sự kiện sẽ được gửi, trong khi NÓI LẠI đưa ra số lượng
mili giây cho đến khi sự kiện sẽ được gửi lại.

Một cách sử dụng điển hình cho các sự kiện REL là mô phỏng con lăn cuộn của chuột,
cấu hình ví dụ sẽ là:

xboxdrv \
--ui-buttonmap Y = rel: REL_WHEEL: 1: 500, A = rel: REL_WHEEL: -1: 500

Tại đây Y sẽ cuộn lên và A sẽ cuộn xuống.

chìa khóa chu kỳ:SỰ KIỆN CHÍNH: ...
Trình xử lý phím chu kỳ sẽ chuyển đổi SỰ KIỆN CHÍNH được gửi với mỗi nút
nhấn. Điều này hữu ích trong các tình huống mà một loạt các nút sẽ được ánh xạ tới
chìa khóa đơn. Ví dụ: FPS có thể có vũ khí được ánh xạ từ 1 đến 6, nhưng chỉ
một phím duy nhất trên gamepad là miễn phí, do đó người ta có thể viết:

xboxdrv \
--ui-buttonmap A=cycle-key:KEY_1:KEY_2:KEY_3:KEY_4:KEY_5:KEY_6

khóa chu kỳ có tên:TÊN:SỰ KIỆN CHÍNH: ...
chu kỳ-khóa-được đặt tên xử lý hoạt động chính xác như chìa khóa chu kỳ xử lý, ngoại trừ một
tên phải được cung cấp cho trình tự chu kỳ. Tên của dãy được sử dụng bởi
chu kỳ-key-ref để truy cập trình tự và sử dụng lại nó cho một nút khác.

Trong ví dụ đơn giản này, A được sử dụng để chuyển qua tất cả các phím vũ khí về phía trước, trong khi B
được sử dụng để chuyển ngược các phím:

xboxdrv \
--ui-buttonmap A = cycle-key-names: vũ khí: KEY_1: KEY_2: KEY_3: KEY_4, B = cycle-key-ref: vũ khí

chu kỳ-key-ref:TÊN:PHƯƠNG HƯỚNG, khóa trình tự-tham chiếu:TÊN:PHƯƠNG HƯỚNG
chu kỳ-key-ref trình xử lý sẽ truy cập và sử dụng lại chuỗi khóa chu trình đã đặt tên
by TÊN. Nếu PHƯƠNG HƯỚNG có thể là 'tiến' hoặc 'lùi', nếu không có hướng
đã cung cấp nó sẽ mặc định thành 'lùi'.

Xem chu kỳ-khóa-được đặt tên cho một ví dụ đầy đủ.

khóa chuỗi được đặt tên:TÊN:SỰ KIỆN CHÍNH: ...
khóa-được đặt tên theo trình tự hoạt động giống hệt như chu kỳ-khóa-được đặt tên, với duy nhất
sự khác biệt là khóa-được đặt tên theo trình tự sẽ không quấn quanh khi đến
đầu hoặc cuối của chuỗi.

Hành vi này hữu ích trong các trò chơi mô phỏng chuyến bay hoặc các trò chơi khác trong đó động cơ đẩy có thể
được điều khiển bằng các phím số và sẽ không có ý nghĩa gì nếu nhảy từ số XNUMX
toàn bộ lực đẩy trong một lần.

Để di chuyển ngược lại qua trình tự, một phím khác phải được liên kết với
khóa trình tự-tham chiếu.

giám đốc điều hành Trình xử lý nút thực thi cho phép một người khởi chạy một ứng dụng khi nút đó
bị ép. Một ví dụ sẽ như thế này:

xboxdrv \
--ui-buttonmap A = execute: /home/juser/local/bin/screenshot.sh

Các sử dụng có thể có cho nút là khả năng chụp ảnh màn hình hoặc thực hiện các
các tác vụ nằm ngoài ứng dụng chính mà bạn đang sử dụng xboxdrv.

vĩ mô Một nút có thể được liên kết với một macro thông qua:

xboxdrv \
--ui-buttonmap A = macro: /home/juser/.xboxdrv/somefile.macro

.macro tệp có dạng:

gửi KEY_LEFTSHIFT 1
đợi 500
gửi KEY_LEFTSHIFT 0

Tất cả các sự kiện abs, rel và key đều có thể được gửi từ một tệp macro.

AXIS TRƯỜNG NGƯỜI XỬ LÝ
Trình xử lý sự kiện trục quyết định điều gì sẽ xảy ra khi một trục được di chuyển. Trình xử lý sự kiện nút thích
chúng có nhiều dạng khác nhau và giống như trình xử lý sự kiện nút, chúng cung cấp một biểu mẫu phím tắt.
Các sự kiện EV_KEY sẽ được xử lý bởi chính xử lý, EV_REL bởi rel xử lý và EV_ABS bởi
các abs người xử lý.

abs:ABS_EVENT
abs handler là đơn giản nhất trong số chúng, nó chỉ đơn giản là gửi đi giá trị mà nó
nhận được đầu vào như đã cho ABS_EVENT sự kiện đối với hạt nhân. Vì vậy, một cơ bản
cấu hình để làm cho thanh bên trái hoạt động như cần điều khiển sẽ như thế này:

xboxdrv \
--ui-axismap X1 = abs: ABS_X, Y1 = abs: ABS_Y

chính:KEY_UP:KEY_DOWN:THRESHOLD
KEY_UP cung cấp cho mã khóa được gửi khi trục được di chuyển lên

KEY_DOWN cung cấp cho mã khóa được gửi khi trục được di chuyển xuống

THRESHOLD đưa ra ngưỡng kích hoạt việc gửi một sự kiện

Giống như --ui-sơ đồ nút, bạn cũng có thể sử dụng các phím shift thay cho XBOXAXIS:

$ xboxdrv --ui-axismap X1 = ABS_X, LB + X1 = ABS_RX

Điều này cho phép bạn gửi sự kiện ABS_X bình thường và sự kiện ABS_RX khi nút LB
được giữ lại.

rel:REL_SỰ KIỆN:VALUE :NÓI LẠI
VALUE cho giá trị lớn nhất của sự kiện, giá trị thực tế được gửi là
VALUE * axis_state. (mặc định: 10)

NÓI LẠI cung cấp số mili giây trôi qua trước khi sự kiện được kích hoạt lại
(mặc định: 5).

Giá trị -1 có ý nghĩa đặc biệt, nó sẽ dẫn đến sự kiện REL bị bắn
càng sớm càng tốt (tức là mọi thời gian chờ mili giây). Đây là cách giới thiệu
để xử lý mô phỏng chuột, vì nó sẽ giữ cho các sự kiện REL được đồng bộ hóa và do đó tránh
răng cưa trong chuyển động, điều đó sẽ dẫn đến việc chỉ định thời gian chờ theo cách thủ công.

rel trình xử lý chủ yếu hữu ích cho mô phỏng con trỏ chuột, nếu bạn muốn
mô phỏng con lăn chuột bằng cách sử dụng tái lặp lại trình xử lý thay thế.

tái lặp lại:REL_SỰ KIỆN:VALUE :NÓI LẠI
tái lặp lại xử lý tương tự như rel trình xử lý, nhưng được tối ưu hóa để mô phỏng
con lăn của chuột.

VALUE không được chia tỷ lệ đến mức độ di chuyển của trục, thay vào đó nó không đổi, thay vào đó
thời gian cho trong NÓI LẠI được chia tỷ lệ theo chuyển động của trục. Do đó càng xa
thanh được di chuyển, càng nhiều sự kiện sẽ được gửi.

Sự cần thiết của cả hai tái lặp lạirel phát sinh từ thực tế là Xorg chuyển đổi cuộn
chuyển động của bánh xe đến các lần nhấn nút trước khi chúng được chuyển đến một ứng dụng, do đó
ứng dụng không bao giờ nhìn thấy đúng những thay đổi trong VALUE , bằng cách mở rộng quy mô NÓI LẠI thay vì
vấn đề đó được giải quyết.

ĐẦU VÀO LỌC


Bộ lọc đầu vào cho phép thao tác các sự kiện đến từ bộ điều khiển. Họ có thể
đã dùng vào --bản đồ, --sơ đồ trục, --ui-sơ đồ nút--ui-axismap. Sự khác biệt giữa
hai là --ui -... các phiên bản áp dụng cho các sự kiện đầu vào, trong khi các phiên bản khác
phiên bản áp dụng cho các sự kiện bộ điều khiển Xbox360.

NÚT LỌC
xe lửa, bật lên
Bộ lọc chuyển đổi sẽ biến nút thành nút bật tắt, nhấp vào nút
sẽ đặt nó ở trạng thái đã nhấn và nhấn lại lần nữa sẽ giải nén. Hữu ích cho
các trò chơi mà bạn có thể muốn chạy vĩnh viễn hoặc đi vịt mà không cần giữ nút
bị ép.

mời, đảo ngược
Bộ lọc đảo ngược sẽ giữ cho nút ở trạng thái được nhấn khi không được nhấn và
ở trạng thái không được nhấn khi nó được nhấn.

tự động, tự động cháy:TỶ LỆ:TRÌ HOÃN
Bộ lọc autofire cho phép một người gửi liên tục các sự kiện nhấn nút khi
được nhấn giữ. Nó có hai tham số tùy chọn:

TỶ LỆ là số mili giây giữa các sự kiện nhấn nút.

TRÌ HOÃN khoảng thời gian mili giây cho đến khi quá trình tự động phát nổ sẽ bắt đầu, trước khi thời gian đó trì hoãn
nút sẽ hoạt động như bình thường.

bấm-bấm
bấm-bấm bộ lọc sẽ truyền một lần nhấp vào nút khi nút được
bị ép.

bấm-nhả
bấm-nhả bộ lọc sẽ truyền một lần nhấp vào nút khi nút được
phát hành.

nhấp vào cả hai
nhấp vào cả hai bộ lọc sẽ truyền một lần nhấp vào nút khi nút được
được nhấn và một cái khác khi nó được phát hành.

const:VALUE
Bộ lọc const sẽ bỏ qua tín hiệu đầu vào và gửi một giá trị không đổi đến
đầu ra. Ví dụ, điều này có thể được sử dụng kết hợp với nhiều cấu hình để
báo hiệu một trò chơi hoặc một ứng dụng khác mà cấu hình hiện đang hoạt động.

chậm trễ:THỜI GIAN
Một nút phải được nhấn giữ trong TIME mili giây trước khi nó phát ra một sự kiện,
sự kiện báo chí ngắn hơn thì điều đó sẽ bị bỏ qua.

đăng nhập:STRING
Bộ lọc nhật ký sẽ xuất mọi thứ ra stdout đi qua nó, đây là
hữu ích để gỡ lỗi bộ lọc. MỘT STRING có thể được cung cấp dưới dạng tham số sẽ là
ra trước sự kiện.

AXIS LỌC
vôi, hiệu chuẩn:MIN:TRUNG TÂM:MAX
Xem --sự định cỡ.

sen, nhạy cảm:Độ nhạy
Xem - nhạy cảm với điều hòa.

chết, vùng nguy hiểm:VALUE , vùng nguy hiểm:MIN:TRUNG TÂM:MAX
Bộ lọc vùng chết áp dụng vùng chết cho trục hiện tại. giá như MIN được cung cấp,
tham số sẽ được hiểu là -MIN: MIN: 1. Nếu đối số là 1, mượt mà
bộ lọc sẽ được áp dụng để kết thúc của vùng chết là 0. Đặt
đối số thành 0 sẽ áp dụng một bộ lọc cắt bỏ đơn giản, trong đó tất cả các sự kiện nhỏ hơn thì
ngưỡng được bỏ qua.

rel, tương đối:SPEED
Xem - trục tương đối.

kính trọng, phản ứng:GIÁ TRỊ: ...
Bộ lọc đường cong phản ứng cho phép bạn thay đổi hoàn toàn cách một trục phản ứng.
Bộ lọc lấy một danh sách GIÁ TRỊ sau đó được nội suy tuyến tính và trải rộng
trên toàn bộ phạm vi của trục. Một ví dụ sẽ như thế này:

xboxdrv \
--ui-axismap x1^resp:-32768:-4000:0:4000:32767

Ở đây, trục X1 được điều khiển để nó có độ nhạy thấp hơn trong
trung tâm và một cao hơn ở bên ngoài.

const:VALUE
Bộ lọc const sẽ bỏ qua tín hiệu đầu vào và gửi một giá trị không đổi đến
đầu ra. Ví dụ, điều này có thể được sử dụng kết hợp với nhiều cấu hình để
báo hiệu một trò chơi hoặc một ứng dụng khác mà cấu hình hiện đang hoạt động.

đăng nhập:STRING
Bộ lọc nhật ký sẽ xuất mọi thứ ra stdout đi qua nó, đây là
hữu ích để gỡ lỗi bộ lọc. MỘT STRING có thể được cung cấp dưới dạng tham số sẽ là
ra trước sự kiện.

THAY ĐỔI
Mặc dù bộ lọc nút và trục chỉ áp dụng cho một trục hoặc nút tại một thời điểm, các công cụ sửa đổi
áp dụng cho bộ điều khiển hoàn chỉnh ngay lập tức và do đó có thể được sử dụng để thực hiện các sửa đổi
yêu cầu đầu vào từ nhiều trục hoặc nhiều nút. Hầu hết các bổ ngữ được giải thích bên dưới
sao chép chức năng được cung cấp bởi các tùy chọn thông thường, nhưng cho phép tinh chỉnh nhiều hơn, chẳng hạn như
giới hạn các hiệu ứng cho một thanh analog thay vì chỉ áp dụng nó cho tất cả. Lưu ý rằng
các bổ ngữ được áp dụng lần lượt, vì vậy thứ tự là rất quan trọng.

xoay dpad=TRÌNH ĐỘ
Xem - bàn phím xoay.

dpad-hạn chế=HẠN CHẾ
Hạn chế chuyển động của dpad, các giá trị cho HẠN CHẾ có thể:

trục x: chỉ cho phép chuyển động theo trục X

trục y: chỉ cho phép chuyển động theo trục Y

bốn đường: cho phép chuyển động theo trục X và Y, nhưng lọc ra các đường chéo

4 sân bay, bộ hạn chế bốn chiều=XAXIS:YAXIS
Xem - giới hạn bốn chiều.

vuông, trục vuông=XAXIS:YAXIS
Xem - trục ngang.

quay=XAXIS:YAXIS:TRÌNH ĐỘ:MIRROR
Xoay cây gậy được đưa ra bởi XAXISYAXIS by TRÌNH ĐỘ và tùy ý GƯƠNG nó.

stat, thống kê
Công cụ sửa đổi thống kê không thực sự sửa đổi bất kỳ điều gì, thay vào đó nó thu thập
thống kê trên bộ điều khiển, chẳng hạn như số lần một nút đã được nhấn. Các
kết quả của các bộ sưu tập sẽ được hiển thị khi tắt xboxdrv.

Lưu ý rằng công cụ sửa đổi trạng thái là một phần của ngăn xếp công cụ sửa đổi, do đó, để có được chính xác
kết quả, bạn phải đảm bảo rằng nó xuất hiện đầu tiên trong ngăn xếp khi nó hoạt động
các sự kiện thực tế và không bị nhầm lẫn bởi chế độ tự động bắn hoặc các sửa đổi tương tự.

ĐANG CHẠY XBOXDRV


SỬ DỤNG A SINGLE CONTROLLER
Cắm gamepad Xbox360 của bạn và sau đó dỡ trình điều khiển xpad qua:

$ rmmod xpad

Nếu bạn muốn dỡ bỏ vĩnh viễn nó, hãy thêm dòng sau vào
/etc/modprobe.d/blacklist.conf:

danh sách đen xpad

Tiếp theo, bạn phải tải mô-đun hạt nhân uinput, mô-đun này cho phép các chương trình không gian người dùng tạo
thiết bị đầu vào ảo và mô-đun joydev xử lý / dev / input / jsX thiết bị:

đầu vào $ modprobe
$ modprobe joydev

Bạn cũng phải đảm bảo rằng bạn có quyền truy cập vào / dev / input / uinput, hoặc thêm
chính mình vào nhóm thích hợp, điều chỉnh quyền hoặc chạy xboxdrv với tư cách là người chủ.

Sau khi đảm bảo rằng xpad không bị cản trở và mọi thứ đã sẵn sàng, hãy bắt đầu không gian người dùng
người lái xe với:

$ xboxdrv

Hoặc trong trường hợp bạn không có các quyền cần thiết (ở trong quyền root thường phải
đủ) khởi động trình điều khiển dưới dạng root thông qua:

$ sudo xboxdrv

Thao tác này sẽ tạo / dev / input / js0 và cho phép bạn truy cập gamepad từ bất kỳ trò chơi nào. Để thoát
trình điều khiển nhấn Ctrl-c.

Theo mặc định xboxdrv sẽ lặp lại tất cả các sự kiện của bộ điều khiển tới bảng điều khiển, điều này giúp bạn dễ dàng
xem mọi thứ có hoạt động bình thường không, nhưng sẽ ăn nhiều CPU, do đó nó hoạt động mạnh mẽ
gợi ý để tắt đầu ra đó với --im lặng tùy chọn.

Các nút kích hoạt được xboxdrv xử lý bình thường dưới dạng trục, cung cấp cho bạn phản hồi tương tự,
trong khi điều này tái tạo bộ điều khiển Xbox360 một cách chính xác nhất, nó sẽ khiến nhiều người nhầm lẫn và
chỉ hữu ích trong một số ít, chủ yếu là trò chơi đua xe. Vì vậy, trong phần lớn các trường hợp, nó là gợi ý
để thay đổi trình kích hoạt thành các nút thông thường thông qua:

$ xboxdrv --trigger-as-button

SỬ DỤNG NHIỀU CONTROLLER
Nếu bạn muốn sử dụng nhiều bộ điều khiển có dây, bạn cần khởi động nhiều phiên bản của
trình điều khiển xboxdrv và thêm đối số -i để chọn bộ điều khiển thích hợp như sau:

$ xboxdrv -i 1

Nếu bạn có nhiều bộ điều khiển không dây, bạn cần khởi động nhiều phiên bản của
trình điều khiển xboxdrv và nối --rộng tùy chọn như thế này:

$ xboxdrv --wid 1

Bạn phải đồng bộ bộ điều khiển không dây như bình thường.

Để xem danh sách tất cả các bộ điều khiển mà xboxdrv phát hiện được kết nối với hệ thống của bạn
sử dụng:

$ xboxdrv --list-bộ điều khiển

NÓNG XBOXDRV DAEMON
Để cho phép cắm nóng gamepad, xboxdrv phải được chạy ở chế độ daemon. Đây là
hoàn thành với --daemon tùy chọn:

$ xboxdrv --daemon

Khi khởi chạy ở chế độ daemon xboxdrv sẽ lắng nghe các sự kiện udev và do đó được thông báo
bất cứ khi nào thiết bị USB mới được cắm vào máy tính. Sau đó, nó sẽ khớp với thiết bị đó
dựa trên danh sách các thiết bị được hỗ trợ và khởi chạy một chuỗi riêng để xử lý gamepad đó.

Lưu ý rằng xboxdrv sẽ không cho phép một số lượng lớn bộ điều khiển tùy ý được sử dụng trong
chế độ đó, nó chỉ có thể xử lý bao nhiêu bộ điều khiển mà bạn đã phân bổ các khe bộ điều khiển
lúc khởi động. Các vị trí mới có thể được phân bổ với --next-bộ điều khiển và theo mặc định, một vị trí là
luôn được cấp phát, do đó để hỗ trợ ba bộ điều khiển, bạn sẽ chạy nó với:

$ xboxdrv --daemon --bộ điều khiển tiếp theo --bộ điều khiển tiếp theo

Mỗi khe điều khiển có thể được định cấu hình riêng lẻ và bạn có thể giới hạn gamepad nào nhận được
được chỉ định cho vị trí nào với --trận đấu tùy chọn.

Lưu ý rằng xboxdrv sẽ tạo thiết bị uinput ảo khi khởi động, không phải khi gamepad
được cắm vào, điều này cho phép người ta cắm gamepad ngay cả sau khi chơi trò chơi hoặc ứng dụng
giống như XBMC đã được khởi chạy và vẫn hoạt động bình thường.

Trong chế độ daemon xboxdrv có thể được tách ra khỏi trình bao hiện tại thông qua --tách, để có được một
xử lý nó để giết nó, bạn có thể viết pid của nó thông qua --pid-tệp:

$ Sudo xboxdrv --daemon --detach --pid-file /var/run/xboxdrv.pid

XBOXDRV DAEMON DBUS GIAO DIỆN


Khi Xboxdrv được chạy dưới dạng daemon, nó sẽ xuất một số hàm API qua D-Bus, do đó cho phép
để thực hiện các thay đổi cấu hình trong thời gian chạy. Giao diện D-Bus có thể được truy cập bằng
nhiều ràng buộc ngôn ngữ được cung cấp hoặc thông qua công cụ dòng lệnh chung dbus-gửi or
bởi người dùng thân thiện hơn xboxdrvctl dụng cụ. Các ví dụ dưới đây được đưa ra cho phần thô dbus-gửi.

Việc xem xét nội tâm được cung cấp thông qua các phương tiện thông thường:

dbus-send --session --type = method_call --print-reply \
--dest = org.seul.Xboxdrv / org / seul / Xboxdrv org.freedesktop.DBus.Introspectable.Introspect

dbus-send --session --type = method_call --print-reply \
--dest = org.seul.Xboxdrv / org / seul / Xboxdrv / ControllerSlots / 0 org.freedesktop.DBus.Introspectable.Introspect

dbus-send --session --type = method_call --print-reply \
--dest = org.seul.Xboxdrv / org / seul / Xboxdrv / Daemon org.freedesktop.DBus.Introspectable.Introspect

Thông tin trạng thái trên các vị trí có sẵn, cấu hình và bộ điều khiển hoạt động có thể được
thu được qua:

dbus-gửi \
--session --type = method_call --print-reply \
--dest = org.seul.Xboxdrv / org / seul / Xboxdrv / Daemon org.seul.Xboxdrv.Daemon.Status

Cài đặt đèn LED trên bộ điều khiển 0 có thể được thực hiện thông qua:

dbus-send --session --type = method_call --print-reply \
--dest = org.seul.Xboxdrv / org / seul / Xboxdrv / ControllerSlots / 0 org.seul.Xboxdrv.Controller.SetLed int32: 4

Cài đặt động cơ ầm ầm trên bộ điều khiển 0 có thể được thực hiện thông qua:

dbus-send --session --type = method_call --print-reply \
--dest = org.seul.Xboxdrv / org / seul / Xboxdrv / ControllerSlots / 0 org.seul.Xboxdrv.Controller.SetRumble int32: 255 int32: 255

Đặt cấu hình khe điều khiển cụ thể, giống như --chuyển đổi BTN cho phép, có thể được thực hiện
với:

dbus-send --session --type = method_call --print-reply \
--dest = org.seul.Xboxdrv / org / seul / Xboxdrv / ControllerSlots / 0 org.seul.Xboxdrv.Controller.SetConfig int32: 2

THỬ NGHIỆM


Biết cách kiểm tra cấu hình xboxdrv là hoàn toàn quan trọng để hiểu
sai trong một thiết lập nhất định. Kiểm tra cấu hình trong trò chơi thường không hữu ích,
vì bạn sẽ không thấy nguyên nhân thực sự ngoài các lớp trừu tượng vô tận giữa bạn và
các sự kiện thực tế. May mắn thay, có một số công cụ bạn có thể sử dụng để kiểm tra, tất cả những công cụ này đều
dựa trên dòng lệnh và bạn nên làm quen với chúng khi muốn làm
bất kỳ cấu hình phức tạp hơn.

EVTEST
evtest cho phép bạn đọc các sự kiện đầu vào thô từ / dev / input / eventX. Các thiết bị sự kiện là
rất cốt lõi của tất cả việc xử lý sự kiện, những thứ như thiết bị cần điều khiển bắt nguồn từ
thiết bị sự kiện, vì vậy nếu bạn muốn khắc phục một số vấn đề trên thiết bị cần điều khiển, bạn phải sửa lỗi
thiết bị sự kiện.

evtest có sẵn trong công cụ / thư mục hoặc như một phần của bản phân phối của bạn trong gói
thử nghiệm. sự phân phối của bạn.

THỬ NGHIỆM
jstest cho phép bạn đọc đầu ra từ thiết bị sự kiện cần điều khiển (/ dev / input / js0).

jstest có sẵn trong công cụ / thư mục hoặc như một phần của bản phân phối của bạn phím điều khiển.

SDL-JSTEST
sdl-jstest cho phép bạn xem các sự kiện khi trò chơi sử dụng SDL nhìn thấy chúng. Điều này rất quan trọng khi
bạn muốn đặt và kiểm tra các biến môi trường SDL_LINUX_JOYSTICK.

Nó hiện có sẵn thông qua:

$ svn co svn: //svn.berlios.de/windstille/trunk/sdl-jstest

Hoặc từ cùng PPA Ubuntu cũng chứa xboxdrv trong gói sdl-jstest.

XV
xev cho phép bạn xem các sự kiện mà Xorg thấy. Tuy nhiên, lưu ý rằng bạn có thể không thấy tất cả
sự kiện, vì một số sẽ được trình quản lý Window của bạn lập biểu đồ trước khi chúng đến được xev, đây là
Bình thường.

xev là một phần của mọi bản phân phối Linux, trên Ubuntu, nó có sẵn thông qua:

$ apt-get cài đặt x11-utils

CÔNG TY CỔ PHẦN CÔNG TY CỔ PHẦN
Cả hai công cụ này đều cho phép bạn hiệu chỉnh gamepad của mình, tuy nhiên với khá nhiều
gamepads cái này không còn cần thiết nữa và thực sự có hại vì nó có thể ghi đè
cấu hình hoạt động tốt nhưng bị hỏng (rút gamepad hoặc khởi động lại sẽ khắc phục được
điều đó). Vì vậy, hãy tránh chúng trừ khi bạn hiểu rõ các vấn đề khi sử dụng chúng.

Nếu gamepad của bạn tạo ra dữ liệu không chính xác và bạn muốn hiệu chỉnh nó, bạn có thể muốn
kiểm tra tùy chọn --sự định cỡ, cho phép bạn điều chỉnh cách xboxdrv diễn giải
dữ liệu gamepad.

MOUSE
Không có công cụ nào để kiểm tra đầu ra trên / dev / input / mouseX được biết đến.

LƯU Ý
Nếu các công cụ không cung cấp đầu ra, điều này có thể không phải do cấu hình sai, nhưng
do Xorg lấy thiết bị sự kiện của bạn và khóa nó, hãy xem phần Xorg để biết
sửa lỗi.

VÍ DỤ


Các cấu hình bên dưới chỉ là một vài ví dụ ngẫu nhiên, bạn có thể tìm thêm các ví dụ khác trong
các ví dụ / thư mục của cây nguồn xboxdrv hoặc trong / usr / share / doc / xboxdrv / example /.

QUẸO GÂY NÊN VÀO NÚT
Theo mặc định xboxdrv sẽ xử lý trình kích hoạt dưới dạng trục tương tự, không phải nút, trong khi đây là
có lợi cho các trò chơi đua xe, nó sẽ gây nhầm lẫn cho nhiều trò chơi khác, do đó xboxdrv cung cấp một
cách dễ dàng để thay đổi việc xử lý thành các nút thông qua --kích hoạt dưới dạng nút tùy chọn:

$ xboxdrv --trigger-as-button

Cấu hình A VÙNG NGUY HIỂM
Nhiều gamepads không căn giữa chính xác ở số XNUMX mà ở các giá trị ngẫu nhiên xung quanh nó. 'Tiếng ồn' này
có thể gây nhầm lẫn cho một số trò chơi và do đó được lọc ra tốt nhất, điều này có thể được thực hiện với:

$ xboxdrv --deadzone 25%

Tỷ lệ phần trăm là lượng tiếng ồn sẽ được lọc ra, bạn cũng có thể cung cấp
giá trị thiết bị nếu bạn bỏ qua dấu%. Nếu bạn muốn có một vùng chết chỉ trên một
trục cụ thể bạn phải sử dụng bộ lọc trục:

$ xboxdrv --buttonmap X1 ^ deadzone: 15000

KEYBOARD KHẨN CẤP
Cấu hình sau sẽ khiến xboxdrv mô phỏng bàn phím, điều này có thể hữu ích
đối với các trò chơi được chơi bằng bàn phím, như trò chơi Flash hoặc trò chơi không hỗ trợ
cần điều khiển. Vì các trò chơi khác nhau sử dụng các phím bàn phím khác nhau nên bạn có thể phải điều chỉnh
keybindings để phù hợp với trò chơi:

$ xboxdrv \
--ui-xóa \
--ui-buttonmap a = XK_a, b = XK_b, x = XK_x, y = XK_y \
--ui-buttonmap dl = XK_Left, dr = XK_Right, du = XK_Up, dd = XK_Down

TRẬN ĐÁNH TRÒ CHƠI:
Trong cấu hình này, trình kích hoạt trái và phải được biến thành các nút kỹ thuật số. Tất cả các trục
ngoại trừ dpad bị bỏ qua. RB và RT được ánh xạ để hoạt động như thể các nút 1,2 và 3
được nhấn mô phỏng rất hữu ích cho một số cuộc tấn công đặc biệt. Thay vì sử dụng
tên nút gốc, bí danh 1,2,3, ... được sử dụng, điều này giúp mọi thứ dễ dàng hơn một chút
đọc:

$ xboxdrv \
--chỉ -dpad \
--kích hoạt dưới dạng nút \
--buttonmap lb=1,x=2,y=3,lt=4,a=5,b=6 \
--bản đồ nút rb = 1, rb = 2, rb = 3 \
--bản đồ nút rt = 4, rt = 5, rt = 6

CH CHUYẾN BAY KHẨN CẤP IN HỘP ĐIỀU KHIỂN:
In dosbox.conf bộ:

[cần điều khiển]
cần điều khiển = ch

Bắt đầu xboxdrv với:

$ xboxdrv -s \
--trigger-as-zaxis --trục vuông \
- trục tương đối y2 = 64000 - sai lệch -y2 = x2, x2 = y2

Cần analog bên phải của bạn sẽ hoạt động như điều khiển chạy nước kiệu, kích hoạt như bánh lái. Sử dụng
--bổ nghĩa để cài đặt một bộ hạn chế bốn chiều cũng có thể đáng xem xét để không
vô tình chạm ga khi bánh lái đang chuyển động.

SỬ DỤNG MOUSE KHẨN CẤP ĐIỀU KHIỂN AT CÁC TƯƠNG TỰ THỜI GIAN
Để sử dụng mô phỏng chuột và cần điều khiển cùng lúc, bạn phải đăng ký hai
cấu hình với xboxdrv, điều này hoạt động thông qua:

$ xboxdrv --next-config --mouse

--next-config tùy chọn sẽ mở ra cấu hình thứ hai và tất cả các tùy chọn cấu hình
ở bên phải của nó sẽ đến đó, trong khi mọi thứ ở bên trái của nó sẽ đi
vào cấu hình đầu tiên. Chuyển đổi giữa các cấu hình hoạt động với hướng dẫn
, bạn có thể có bao nhiêu cấu hình tùy thích.

BẢN ĐỒ MỌI NÚT NHIỀU
Một số trò chơi có thể yêu cầu nhiều nút hơn thì gamepad của bạn có, trong những trường hợp đó, nó có thể
hữu ích để ánh xạ một nút hai lần bằng cách sử dụng các nút đã dịch chuyển:

$ xboxdrv \
--ui-xóa \
--ui-axismap X1 = ABS_X, Y1 = ABS_Y \
--ui-buttonmap a = JS_0, b = JS_1, x = JS_2, y = JS_3 \
--ui-buttonmap lb + a = JS_4, lb + b = JS_5, lb + x = JS_6, lb + y = JS_7 \
--ui-buttonmap rb + a = JS_8, rb + b = JS_9, rb + x = JS_10, rb + y = JS_11
.fi

Tại đây, tất cả các nút trên khuôn mặt được ánh xạ ba lần, một lần khi
được nhấn bình thường, một lần khi được nhấn trong khi LB được giữ và
một lần khi RB bị giữ, do đó, bạn đã có sáu nút
12 cái ảo.

SAUERBRATEN
Cần tương tự đầu tiên được ánh xạ các phím con trỏ, cần tương tự thứ hai được ánh xạ tới chuột.
Lưu ý: Đây chỉ là một ví dụ chưa hoàn chỉnh, không phải là một cấu hình hoàn toàn có thể chơi được, bạn có
để tự điều chỉnh.

$ xboxdrv \
--ui-axismap x2=REL_X:10,y2=REL_Y:-10,x1=KEY_LEFT:KEY_RIGHT,y1=KEY_UP:KEY_DOWN \
--ui-buttonmap a = BTN_RIGHT, b = BTN_LEFT, x = BTN_EXTRA \
--ui-buttonmap rb = KEY_5, lb = KEY_6, lt = BTN_LEFT, rt = BTN_RIGHT \
--ui-buttonmap y = KEY_ENTER, dl = KEY_4, dr = KEY_2, du = KEY_1, dd = KEY_3, back = KEY_TAB, start = KEY_ESC \
-s --deadzone 6000 --dpad-as-button --trigger-as-button

CHIẾN BINH
Lưu ý: Đây chỉ là một ví dụ chưa hoàn chỉnh, không phải là một cấu hình hoàn toàn có thể chơi được, bạn có
để tự điều chỉnh.

$ xboxdrv \
--ui-axismap x2=REL_X:10,y2=REL_Y:-10,x1=KEY_A:KEY_D,y1=KEY_W:KEY_S \
--ui-buttonmap a = KEY_LEFTSHIFT, b = BTN_C, x = BTN_EXTRA, y = KEY_C \
--ui-buttonmap lb = BTN_RIGHT, rb = KEY_SPACE \
--ui-buttonmap lt = KEY_Z, rt = BTN_LEFT \
--ui-buttonmap dl=KEY_4,dr=KEY_2,du=REL_WHEEL:-1:150,dd=REL_WHEEL:1:150 \
--ui-buttonmap back = KEY_TAB, start = KEY_ESC \
-s --deadzone 6000 --dpad-as-button --trigger-as-button

VIẾT KHỞI ĐỘNG KỊCH BẢN CHO GAME


Khi bạn muốn có đầy đủ cấu hình cụ thể cho trò chơi và tự động khởi chạy xboxdrv, thì
dễ nhất để viết các tập lệnh khởi động nhỏ cho các trò chơi của bạn sẽ khởi chạy xboxdrv, khởi chạy
trò chơi của bạn và sau đó khi trò chơi kết thúc, hãy xé xboxdrv:

#!/ Bin / sh

thực thi xboxdrv \
--kích hoạt như nút -s \
- \
your_favourite_game

#EOF #

Đây your_favourite_game là tệp thực thi trò chơi của bạn và được chuyển đến xboxdrv cuối cùng
lý lẽ. Điều này sẽ khiến xboxdrv bắt đầu trò chơi và tiếp tục chạy miễn là trò chơi
đang chạy, khi trò chơi kết thúc, xboxdrv sẽ tự động thoát.

Nếu bạn muốn chuyển các tham số cho trò chơi, bạn phải thêm một -- dấu phân cách, như cách khác
các tùy chọn của bạn đối với trò chơi sẽ bị xboxdrv tiêu diệt.

SDL GHI CHÚ


Để cho SDL biết trục nào hoạt động như một cái mũ và trục nào hoạt động như trục bình thường, bạn phải đặt một
biến môi trường:

$ SDL_LINUX_JOYSTICK = "'Xbox Gamepad (trình điều khiển vùng người dùng)' 6 1 0"
$ xuất SDL_LINUX_JOYSTICK

Ngoài ra, bạn cũng có thể cần sử dụng cái này (tùy thuộc vào cách SDL được biên dịch):

$ SDL_JOYSTICK_DEVICE = "/ dev / input / js0"
$ xuất SDL_JOYSTICK_DEVICE

Điều này sẽ cho phép DPad hoạt động như Mũ trong ứng dụng dựa trên SDL. Đối với nhiều trò chơi, trình điều khiển sẽ
hoạt động mà không cần điều này, nhưng đặc biệt trong Dosbox, biến này rất quan trọng.

Nếu bạn sử dụng các tùy chọn trong xboxdrv thay đổi số trục, bạn phải điều chỉnh
biến tương ứng, xem:

· ⟨ftp://ptah.lnf.kth.se/pub/misc/sdl-env-vars

SDL_LINUX_JOYSTICK
Chuỗi cấu hình phím điều khiển đặc biệt cho linux. Định dạng là "Tên số lượng lớn số ít
numballs " trong đó tên là chuỗi tên của cần điều khiển (có thể trong dấu ngoặc kép) và
số còn lại lần lượt là số rìu, mũ và bi.

SDL_JOYSTICK_DEVICE
Thiết bị cần điều khiển để sử dụng trong trình điều khiển cần điều khiển linux, ngoài các thiết bị thông thường: / dev / js *,
/ dev / input / event *, / dev / input / js *

Giải đáp thắc mắc


"KHÔNG XBOX OR XBOX360 CONTROLLER THÀNH LẬP"
Điều này có nghĩa là bộ điều khiển của bạn không được cắm vào hoặc không được
tài xế. Để khắc phục điều này, bạn cần biết idVendor và số idProduct, bạn có thể
tìm hiểu qua:

$ lsusb -v

Sau khi hoàn tất, bạn có thể thử thêm chúng vào mảng này trong src / xpad_device.cpp:

XPadDevice xpad_devices [] = {...}

Nếu bạn thành công với điều đó, hãy gửi một bản vá tới[email được bảo vệ]>, nếu không, hãy liên hệ với tôi
quá, tôi có thể cung cấp thêm trợ giúp.

Thay vào đó, bạn cũng có thể sử dụng tùy chọn --device và --type để thực thi thiết bị USB
cũng như loại bộ điều khiển bỏ qua bất kỳ phát hiện tự động nào.

"KHÔNG XÁC ĐỊNH DỮ LIỆU: NHIỆM VỤ: 3 DỮ LIỆU: ... "
Điều này có nghĩa là bộ điều khiển của bạn đang gửi dữ liệu mà trình điều khiển không hiểu. Nếu như
bộ điều khiển của bạn vẫn hoạt động, bạn có thể bỏ qua nó, bộ điều khiển Xbox360 dường như gửi
thỉnh thoảng ra dữ liệu vô ích. Nếu bộ điều khiển của bạn không hoạt động và bạn nhận được nhiều
của những dòng đó khi bạn di chuyển gậy hoặc nhấn các nút, điều đó có nghĩa là bộ điều khiển của bạn
nói về một giao thức chưa được hiểu rõ và một số tham gia ngược lại là bắt buộc. Tiếp xúc
<[email được bảo vệ]> và bao gồm đầu ra của:

$ lsusb -v

Cùng với tất cả các dòng "Dữ liệu không xác định" mà bạn nhận được.

"LỖI: KHÔNG CÓ THỂ UINPUT THIẾT BỊ THÀNH LẬP"
Đảm bảo rằng các mô-đun hạt nhân uinput và joydev được tải. Đảm bảo rằng bạn có
/ dev / input / uinput, / dev / uinput hoặc / dev / misc / uinput và quyền truy cập nó.

Trước khi báo cáo đây là lỗi, hãy đảm bảo rằng bạn đã kiểm tra xem trình điều khiển có hoạt động với:

$ xboxdrv --no-uinput -v

CÁC WIRELESS CONTROLLER KHÔNG CÔNG VIỆC
Bạn phải đồng bộ bộ điều khiển để nó có thể được sử dụng, không cần khởi động lại trình điều khiển
và trình điều khiển sẽ cho phép bạn ngay bây giờ khi nó nhận được kết nối sau khi bạn đồng bộ hóa
người điều khiển.

KEYBOARD KHẨN CẤP
Khi bạn cố gắng cho phép xboxdrv gửi sự kiện bàn phím qua --ui-sơ đồ nút or --ui-axismap Xorg
phải đăng ký thiết bị làm thiết bị bàn phím để hoạt động bình thường. Điều này có vẻ hiệu quả
tự động khi bạn liên kết nhiều hơn hai phím bàn phím, nếu bạn liên kết ít hơn, bạn cần
tạo tệp /etc/hal/fdi/preprobe/xboxdrv.fdi chứa:





input.keys




Điều này sẽ cho HAL và Xorg biết rằng xboxdrv hoạt động như bàn phím.

WACOM CÁC VẤN ĐỀ
Trong một số hạt nhân cũ hơn, máy tính bảng đồ họa Wacom tạo ra một thiết bị cần điều khiển, vì vậy xboxdrv hoặc bất kỳ
các cần điều khiển thực khác kết thúc là / dev / input / js1 thay vì / dev / input / js0. Trong nhiều trò chơi
điều này khiến cần điều khiển không hoạt động nữa.

Một giải pháp tạm thời cho điều này là chỉ cần xóa thiết bị cần điều khiển js0 và thay thế nó
với một liên kết tượng trưng js1 qua:

$ sudo ln -sf / dev / input / js1 / dev / input / js0

Cách giải quyết này sẽ chỉ kéo dài cho đến lần khởi động lại tiếp theo, vì tên thiết bị là
được tạo động, nhưng hiện tại dường như không có bất kỳ cách nào khác để dễ dàng
làm việc xung quanh vấn đề này.

Trong các hạt nhân mới hơn, vấn đề này đã được khắc phục.

UINPUT CÁC VẤN ĐỀ
Trên Ubuntu 9.04, quyền của thiết bị uinput đã thay đổi thành 0640, nghĩa là chỉ
root có quyền truy cập vào thiết bị. Để thay đổi điều này trở lại để người dùng trong nhóm gốc có
truy cập thiết bị và lần lượt có thể chạy xboxdrv mà không cần sudo bạn phải tạo tệp
gọi là /etc/udev/rules.d/55-permissions-uinput.rules với nội dung:

KERNEL == "uinput", MODE = "0660", GROUP = "root"

RƯỢU NHO CÁC VẤN ĐỀ
Khi sử dụng gamepad Xbox360 trong Wine, nó không được xử lý đặc biệt như gamepad Xbox360, nhưng
làm gamepad DirectInput chung. Điều này có nghĩa là trò chơi sẽ không hiển thị nút thích hợp
nhãn, nhưng chỉ là số (ví dụ: 'Btn1' thay vì 'A'). Bên cạnh đó, nó
sẽ hoạt động tốt.

Hỗ trợ XInput (thay thế Microsoft DirectInput, không phải xinput Xorg) kể từ
Tháng 2011 năm XNUMX không được triển khai trong Wine, vì vậy các trò chơi yêu cầu XInput và không có
Dự phòng DirectInput sẽ không hoạt động với bộ điều khiển Xbox360, tuy nhiên, các bản vá không chính thức
tồn tại.

XORG CÁC VẤN ĐỀ


Nếu bạn khởi động xboxdrv và thay vì có một cần điều khiển hoạt động hoàn toàn, bạn kết thúc
điều khiển chuột có thể do những thay đổi gần đây trong Xorg và ổ cắm thiết bị của nó
sự điều khiển. Có bốn cách giải quyết, một cách giải quyết liên quan đến chỉnh sửa
/etc/hal/fdi/policy/preferences.fdi là một trong những recommont.

TẠM THỜI LÀM VIỆC SỬ DỤNG THIẾT BỊ HAL
Nhận id thiết bị từ hal:

$ hal-find-by-property --key 'info.product' --string 'Xbox Gamepad (trình điều khiển không gian người dùng)'

Sau đó, xóa thiết bị khỏi một nửa bằng:

$ hal-device -r $ DEVICEID

TẠM THỜI LÀM VIỆC SỬ DỤNG XINPUT
Cách giải quyết thứ hai hoạt động với xinput:

danh sách $ xinput
$ xinput set-int-prop $ DEVICEID 'Đã bật thiết bị' 32 0

DÀI HẠN LÀM VIỆC SỬ DỤNG .FDI CÁC TẬP TIN
Hai cách giải quyết trước đây chỉ là tạm thời và phải được thực hiện lại sau mỗi lần bắt đầu
xboxdrv, giải pháp cuối cùng là giải pháp vĩnh viễn:

Bạn phải chỉnh sửa:

/etc/hal/fdi/policy/preferences.fdi

Và chèn các dòng sau:





DÀI HẠN LÀM VIỆC BY TIÊU DIỆT THIẾT BỊ AUTO PHÁT HIỆN
Một giải pháp thứ tư liên quan đến việc vô hiệu hóa hoàn toàn tính năng tự động phát hiện của Xorg, bạn có thể thực hiện
điều đó bằng cách thêm các dòng sau vào /etc/X11/xorg.conf:

Phần "Thẻ máy chủ"
Tùy chọn "AutoAddDevices" "False"
Kết thúc

Lưu ý rằng nếu không có tính năng tự động phát hiện, bạn sẽ phải định cấu hình thủ công tất cả các con chuột của mình và
bàn phím hoặc Máy chủ Xorg của bạn sẽ không khởi động đúng cách. Vì vậy, trừ khi bạn đã quen thuộc
với việc chỉnh sửa Xorg, bạn nên tránh cách giải quyết này tốt hơn. Cách giải quyết 3) về cơ bản giống nhau
có hiệu lực, ngoại trừ tính năng tự động phát hiện chỉ bị vô hiệu hóa đối với một thiết bị mà nó đang gây ra
vấn đề.

LỰC LƯỢNG PHẢN HỒI CHƯƠNG TRÌNH


Để biết tài liệu về giao diện FF, hãy xem:

· ⟨http://github.com/github/linux-2.6/blob/f3b8436ad9a8ad36b3c9fa1fe030c7f38e5d3d0b/Documentation/input/ff.txt

· /usr/include/linux/input.h

Thông tin bổ sung, không liên quan đến Linux, liên quan đến phản hồi buộc có thể được tìm thấy tại:

· ⟨http://www.immersion.com/developer/downloads/ImmFundamentals/HTML/

· ⟨http://msdn.microsoft.com/en-us/library/bb219655(VS.85) .aspx⟩

tốt nhất là một ứng dụng bạn có thể sử dụng để kiểm tra giao diện phản hồi lực.

Buộc phản hồi bị tắt theo mặc định vì nó gây ra sự cố trong một số ứng dụng. "Mộ
Raider: Legend ", chẳng hạn như khi chạy trong Wine gặp sự cố khi khởi động khi bật rumble,
trong khi nó hoạt động hoàn toàn bình thường khi tắt tính năng ầm ầm.

Sử dụng xboxdrv trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

Lệnh Linux

Ad




×
quảng cáo
❤️Mua sắm, đặt phòng hoặc mua tại đây — không mất phí, giúp duy trì các dịch vụ miễn phí.