2012-08-09 26 views
6

Tôi đang sử dụng Arduino Uno để kết nối bộ điều khiển SNES (chính hãng) với máy tính qua USB hoặc Bluetooth.Tôi có thể mô phỏng các nút bấm nút trò chơi với lớp Robot của Java (Java.awt.robot) không?

Arduino chụp nút bộ điều khiển và nhả bằng cách sử dụng snespad library. Nó liên lạc nút bấm và phát hành dưới dạng ký tự (ví dụ: 'a' để nhấn A, 'A' để phát hành 'A'). Tiếp theo, một chương trình Java lắng nghe đầu ra nối tiếp bằng cách sử dụng rxtx library. Cuối cùng, Java robot mô phỏng các lần nhấn phím bằng cách sử dụng keyPresskeyRelease.

Thật không may, phương pháp này có một vài nhược điểm. Vấn đề chính là ánh xạ khóa. Tôi đã tự ý quyết định nút nào sẽ là phím nào.

Java dường như không có bất kỳ pad trò chơi nào KeyEvents. Khi tôi nói "KeyEvent của trò chơi pad", tôi có ý nghĩa giống như những gì Android SDK có: http://developer.android.com/reference/android/view/KeyEvent.html (ctrl + f "pad trò chơi" hoặc "nút".)

Câu hỏi của tôi là có cách mô phỏng trò chơi nhấn nút thay vì tổ hợp phím bằng cách sử dụng lớp robot của Java?

+0

Có lý do nào bạn không thể chỉ cần nhấn tiếp rol và 'f' sử dụng Robot? –

+0

Xin lỗi. Tôi đã nói nếu bạn tìm kiếm "pad trò chơi" hoặc "nút" trên trang web đó, bạn sẽ thấy các nút bao gồm Android SDK. – keattsd

Trả lời

0

SỬ DỤNG CLASS ROBOT TRÊN JAVA

Bạn có thể tạo bấm phím ảo/phát hành theo cách sau ...

Robot robo=new Robot(); 
robo.keyPress(KeyEvent.VK_A); 
//don't forget to release it else you'll land up in infinite loop 
robo.KeyRelease(KeyEvent.VK_A); 

cổ vũ

0

Bạn sẽ có thể dễ dàng từ expierience của tôi các nút gamepad được ánh xạ tới các nút bàn phím chỉ ánh xạ tôi biết nó i, j, k, l đi tìm xung quanh và w, a, s, d di chuyển xung quanh

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