2013-06-09 41 views
8

Hiện tại có lỗi trong JavaFX (https://javafx-jira.kenai.com/browse/RT-30669, yêu cầu đăng ký miễn phí), nếu bạn đang sử dụng bố cục bàn phím azerty và chỉ định một máy gia tốc với Z trong đó, trên Mac nó chỉ kích hoạt khi gõ W. Tôi cần để khắc phục lỗi này khi tôi cần phát hành sản phẩm của mình ngay bây giờ.cách phát hiện xem bàn phím người dùng có thuộc AZERTY trong Java không?

Vì vậy, tôi muốn phát hiện Mac + Azerty và nếu thay đổi máy gia tốc để sử dụng W. Tôi biết cách phát hiện Mac và tôi biết cách phát hiện ngôn ngữ của bàn phím (sử dụng InputContext # getLocale()). sao tôi biết liệu ngôn ngữ hiện tại có bố trí bàn phím azerty? Tôi có phải kiểm tra danh sách hardcoded của các miền địa phương đã biết sử dụng bố cục không? Nếu vậy, tôi sẽ tìm thấy danh sách đó ở đâu?

+0

Lỗi này chỉ xảy ra đối với bố cục AZERTY hay cũng cho các bố cục khác như QWERTZ? – Arjan

+0

Tôi sẽ không biết thực sự..why? –

+0

Chỉ tò mò thôi, đó là bố cục đầu tiên xuất hiện khi bạn nói rằng phím Z không ở vị trí QWERTY "bình thường". Bàn phím QWERTZ có các phím Y và Z được hoán đổi, điều này rất thú vị cho những người dùng không cần thiết phải thay đổi BIOS và xác nhận với Y. – Arjan

Trả lời

2

Chỉ cần không "kiểm tra danh sách mã hóa các ngôn ngữ đã biết", vì nhiều người có thể có ngôn ngữ Pháp với bàn phím không khớp với ngôn ngữ, nếu họ mua máy tính ở Hoa Kỳ và sử dụng nó trong quebec với một giao diện tiếng Pháp. Tôi cá nhân tồi tệ nhất, như tôi đang có một bố trí dvorak ... ;-) Và tôi chỉ muốn tưởng tượng có bao nhiêu biến thể của bố trí dựa trên tiếng Tây Ban Nha có thể có sẵn ...

Lời khuyên tốt nhất và di động hơn của tôi sẽ không cố gắng phát hiện thứ gì đó khó phát hiện, nhưng đưa ra một số ánh xạ bàn phím "mặc định" cho (vd) bàn phím qwerty sẽ hoạt động với hầu hết userbase của bạn và tạo bảng cấu hình cho phép người dùng thay đổi ánh xạ khóa cho ứng dụng của bạn bằng cách nhập các phím mới, nếu chúng không thích mặc định.

chỉnh sửa:

ah ... có thể được thực sự là một vấn đề khác nhau ... có lẽ bạn anyway có thể làm cho một sở thích combobox cho tất cả phi us-bàn phím trên macosx rằng có các phím với một modifier mà có được thay đổi?

Để trả lời câu hỏi của bạn nhiều hơn "thẳng thắn", đây là một vài kết quả tôi tìm thấy trên google:

cả dẫn đối với java.awt.im.InputContext:

InputContext context = InputContext.getInstance(); 
System.out.println(context.getLocale().toString()); 

Tôi không bao giờ cố gắng này trong java, vì vậy tôi không thể giúp bạn nhiều hơn với tôi google-fu, nhưng tôi thực sự hy vọng điều này sẽ giúp :-)

+0

Đồng ý. Làm cho nó một hộp kiểm và yêu cầu người dùng lần đầu tiên (với một lời giải thích phù hợp) –

+0

Hmm trong khi tôi làm theo lời giải thích của bạn, vấn đề duy nhất của tôi thực sự là undo (phím tắt + z), lỗi không thể hiện khi gõ. Vì vậy, nó sẽ là một chút lạ để yêu cầu người dùng cho một keymapping cho hoàn tác. –

+0

cập nhật câu trả lời của tôi liên quan đến bình luận của bạn – zmo

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