Cách chụp sự kiện nhấn phím enter trong python

Các đối tượng KeyboardEvent mô tả tương tác của người dùng với bàn phím; . Loại sự kiện (_______2_______, keypress hoặc keyup) xác định loại hoạt động bàn phím nào đã xảy ra

Ghi chú. Các sự kiện KeyboardEvent chỉ cho biết tương tác của người dùng với một phím trên bàn phím ở cấp độ thấp, không cung cấp ý nghĩa theo ngữ cảnh cho tương tác đó. Khi bạn cần xử lý kiểu nhập văn bản, hãy sử dụng sự kiện input để thay thế. Các sự kiện bàn phím có thể không được kích hoạt nếu người dùng đang sử dụng một phương thức nhập văn bản thay thế, chẳng hạn như hệ thống chữ viết tay trên máy tính bảng hoặc máy tính bảng đồ họa

EventUIEventKeyboardEvent

KeyboardEvent()

Tạo một đối tượng KeyboardEvent mới

Giao diện KeyboardEvent xác định các hằng số sau

Các hằng số sau xác định sự kiện quan trọng bắt nguồn từ phần nào của bàn phím. Chúng được truy cập dưới dạng KeyboardEvent0, v.v.

Keyboard location identifiersConstantValueDescriptionKeyboardEvent10x00

Phím được mô tả bởi sự kiện không được xác định là nằm trong một khu vực cụ thể của bàn phím;

Các ví dụ bao gồm các phím chữ và số trên bàn phím PC 101 US tiêu chuẩn, phím NumLock và phím cách

KeyboardEvent20x01

Phím là phím có thể tồn tại ở nhiều vị trí trên bàn phím và trong trường hợp này là ở bên trái bàn phím

Ví dụ bao gồm phím Control bên trái, phím Command bên trái trên bàn phím Macintosh hoặc phím Shift bên trái

KeyboardEvent30x02

Phím là phím có thể tồn tại ở nhiều vị trí trên bàn phím và trong trường hợp này, nằm ở phía bên phải của bàn phím

Ví dụ bao gồm phím Shift bên phải và phím Alt bên phải (Tùy chọn trên bàn phím máy Mac)

KeyboardEvent40x03

Khóa nằm trên bàn phím số hoặc là một phím ảo được liên kết với bàn phím số nếu có nhiều vị trí mà khóa có thể bắt nguồn từ đó. Phím NumLock không thuộc nhóm này và luôn được mã hóa với vị trí KeyboardEvent1

Ví dụ bao gồm các chữ số trên bàn phím số, phím Enter của bàn phím và dấu thập phân trên bàn phím

Giao diện này cũng kế thừa các thuộc tính của cha mẹ nó, KeyboardEvent6 và KeyboardEvent7

KeyboardEvent8 Chỉ đọc

Trả về giá trị boolean là KeyboardEvent9 nếu phím Alt (Tùy chọn hoặc ⌥ trên macOS) đang hoạt động khi sự kiện quan trọng được tạo

keydown0 Chỉ đọc

Trả về một chuỗi có giá trị mã của khóa vật lý được đại diện bởi sự kiện

Cảnh báo. Điều này bỏ qua bố cục bàn phím của người dùng, do đó, nếu người dùng nhấn phím ở vị trí "Y" trong bố cục bàn phím QWERTY (gần giữa hàng phía trên hàng chính), thao tác này sẽ luôn trả về "KeyY", ngay cả khi . Nếu bạn muốn hiển thị các tổ hợp phím chính xác cho người dùng, bạn có thể sử dụng keydown1

keydown2 Chỉ đọc

Trả về giá trị boolean là KeyboardEvent9 nếu phím Ctrl đang hoạt động khi sự kiện quan trọng được tạo

keydown4 Chỉ đọc

Trả về một giá trị boolean là KeyboardEvent9 nếu sự kiện được kích hoạt trong khoảng thời gian từ sau keydown6 đến trước keydown7

keydown8 Chỉ đọc

Trả về một chuỗi đại diện cho giá trị khóa của khóa được đại diện bởi sự kiện

keydown9 Chỉ đọc

Trả về một chuỗi đại diện cho một chuỗi ngôn ngữ cho biết ngôn ngữ mà bàn phím được định cấu hình cho. Đây có thể là chuỗi trống nếu trình duyệt hoặc thiết bị không biết ngôn ngữ của bàn phím

Ghi chú. Điều này không mô tả ngôn ngữ của dữ liệu được nhập. Người dùng có thể đang sử dụng một bố cục bàn phím trong khi nhập văn bản bằng một ngôn ngữ khác

______3_______0 Chỉ đọc

Trả về một số đại diện cho vị trí của phím trên bàn phím hoặc thiết bị đầu vào khác. Một danh sách các hằng số xác định các vị trí được hiển thị ở trên trong

______3_______1 Chỉ đọc

Trả về giá trị boolean là KeyboardEvent9 nếu phím Meta (trên bàn phím Mac là phím ⌘ Command; trên bàn phím Windows là phím Windows (⊞)) đang hoạt động khi sự kiện quan trọng được tạo

keypress3 Chỉ đọc

Trả về một giá trị boolean là KeyboardEvent9 nếu phím đang được nhấn giữ sao cho nó tự động lặp lại

______3_______5 Chỉ đọc

Trả về giá trị boolean là KeyboardEvent9 nếu phím Shift được kích hoạt khi sự kiện quan trọng được tạo

Giao diện này cũng kế thừa các phương thức của cha mẹ nó, KeyboardEvent6 và KeyboardEvent7

keypress9

Trả về giá trị boolean cho biết liệu một phím bổ trợ như Alt, Shift, Ctrl hoặc Meta có được nhấn khi sự kiện được tạo hay không

keyup0 Không dùng nữa

Khởi tạo một đối tượng KeyboardEvent. Điều này chỉ được thực hiện bởi Firefox và thậm chí không còn được hỗ trợ ở đó nữa;

keyup3 Không dùng nữa

Khởi tạo một đối tượng KeyboardEvent. Điều này hiện không được chấp nhận. Thay vào đó, bạn nên sử dụng hàm tạo KeyboardEvent()

keyup6 Không chuẩn Không dùng nữa Chỉ đọc

Trả về một chuỗi đại diện cho giá trị ký tự của khóa. Nếu khóa tương ứng với một ký tự in được, thì giá trị này là một chuỗi Unicode không trống chứa ký tự đó. Nếu khóa không có biểu diễn có thể in được, thì đây là một chuỗi rỗng

Ghi chú. Nếu khóa được dùng làm macro chèn nhiều ký tự thì giá trị của thuộc tính này là toàn bộ chuỗi, không chỉ ký tự đầu tiên

keyup7 Không dùng nữa Chỉ đọc

Trả về một số đại diện cho số tham chiếu Unicode của khóa; . Đối với các khóa có thuộc tính keyup9 chứa nhiều ký tự, đây là giá trị Unicode của ký tự đầu tiên trong thuộc tính đó. Trong Firefox 26, điều này trả về mã cho các ký tự có thể in được

Cảnh báo. Thuộc tính này không được dùng nữa;

KeyboardEvent1 Không dùng nữa Chỉ đọc

Trả về một số đại diện cho một hệ thống và mã số phụ thuộc vào việc triển khai xác định giá trị chưa sửa đổi của phím được nhấn

Cảnh báo. Thuộc tính này không được dùng nữa;

KeyboardEvent3 Không chuẩn Không dùng nữa Chỉ đọc

Thuộc tính này không theo tiêu chuẩn và không được dùng nữa để ủng hộ keydown8. Nó là một phần của phiên bản cũ của Sự kiện DOM cấp 3

KeyboardEvent5 Không chuẩn Không dùng nữa Chỉ đọc

Đây là bí danh không được dùng theo tiêu chuẩn cho keypress0. Nó là một phần của phiên bản cũ của Sự kiện DOM cấp 3

KeyboardEvent7 Không dùng nữa Chỉ đọc

Trả về một số đại diện cho một hệ thống và mã số phụ thuộc vào việc triển khai xác định giá trị chưa sửa đổi của phím được nhấn;

Cảnh báo. Thuộc tính này không được dùng nữa;

Các sự kiện sau dựa trên loại KeyboardEvent. Trong danh sách bên dưới, mỗi sự kiện liên kết đến tài liệu dành cho trình xử lý input1 cho sự kiện, áp dụng chung cho tất cả những người nhận, bao gồm input1, input3 và input4

keydown

Một phím đã được nhấn

keyup

Một chìa khóa đã được phát hành

keypress Không dùng nữa

Một phím thường tạo ra một giá trị ký tự đã được nhấn. Sự kiện này phụ thuộc nhiều vào thiết bị và đã lỗi thời. Bạn không nên sử dụng nó

Có ba loại sự kiện bàn phím. keydown, keypresskeyup. Đối với hầu hết các khóa, Gecko gửi một chuỗi các sự kiện quan trọng như thế này

  1. Khi phím được nhấn lần đầu tiên, sự kiện keydown được gửi
  2. Nếu khóa không phải là khóa bổ trợ, sự kiện keypress được gửi
  3. Khi người dùng nhả khóa, sự kiện keyup được gửi

Một số phím chuyển đổi trạng thái của đèn báo; . Trên Windows và Linux, các khóa này chỉ gửi các sự kiện keydownkeyup

Ghi chú. Trên Linux, Firefox 12 trở về trước cũng gửi sự kiện keypress cho các khóa này

Tuy nhiên, một hạn chế của mô hình sự kiện macOS khiến Caps Lock chỉ gửi sự kiện keydown. Num Lock đã được hỗ trợ trên một số mẫu máy tính xách tay cũ hơn (mẫu 2007 trở lên), nhưng kể từ đó, macOS không hỗ trợ Num Lock ngay cả trên bàn phím ngoài. Trên MacBook cũ hơn có phím Num Lock, phím đó không tạo ra bất kỳ sự kiện quan trọng nào. Gecko hỗ trợ phím Scroll Lock nếu bàn phím ngoài có phím F14 được kết nối. Trong một số phiên bản Firefox cũ hơn, khóa này đã tạo ra sự kiện keypress;

Khi một phím được nhấn và giữ, nó sẽ bắt đầu tự động lặp lại. Điều này dẫn đến một chuỗi các sự kiện tương tự như sau được gửi đi

  1. keydown
  2. keypress
  3. keydown
  4. keypress
  5. <>
  6. keyup

Đây là điều mà thông số kỹ thuật DOM Cấp 3 cho biết sẽ xảy ra. Tuy nhiên, có một số cảnh báo như được mô tả dưới đây

Tự động lặp lại trên một số môi trường GTK như Ubuntu 9. 4

Trong một số môi trường dựa trên GTK, tính năng tự động lặp lại sẽ tự động gửi một sự kiện nhập khóa gốc trong quá trình tự động lặp lại và Gecko không có cách nào để biết sự khác biệt giữa một loạt lần nhấn phím lặp lại và tự động lặp lại. Sau đó, trên các nền tảng đó, khóa tự động lặp lại sẽ tạo ra chuỗi sự kiện sau

  1. keydown
  2. keypress
  3. keyup
  4. keydown
  5. keypress
  6. keyup
  7. <>
  8. keyup

Thật không may, trong những môi trường này, không có cách nào để nội dung web phân biệt sự khác biệt giữa các phím tự động lặp lại và các phím chỉ được nhấn liên tục

document.addEventListener('keydown', (event) => {
  const keyName = event.key;

  if (keyName === 'Control') {
    // do not alert when only Control key is pressed.
    return;
  }

  if (event.ctrlKey) {
    // Even though event.key is not 'Control' (e.g., 'a' is pressed),
    // event.ctrlKey may be true if Ctrl key is pressed at the same time.
    alert(`Combination of ctrlKey + ${keyName}`);
  } else {
    alert(`Key pressed ${keyName}`);
  }
}, false);

document.addEventListener('keyup', (event) => {
  const keyName = event.key;

  // As the user releases the Ctrl key, the key is no longer active,
  // so event.ctrlKey is false.
  if (keyName === 'Control') {
    alert('Control key was released');
  }
}, false);

Sự chỉ rõ

Thông số kỹ thuật giao diện KeyboardEvent đã trải qua nhiều phiên bản dự thảo, đầu tiên là trong Sự kiện DOM Cấp độ 2 khi nó bị loại bỏ do không có sự đồng thuận nào phát sinh, sau đó là trong Sự kiện DOM Cấp độ 3. Điều này dẫn đến việc triển khai các phương thức khởi tạo không theo tiêu chuẩn, phiên bản Sự kiện DOM sớm Cấp 2, keyup0 bởi trình duyệt Gecko và phiên bản Sự kiện DOM sớm Cấp 3, keyup3 bởi những người khác. Cả hai đã được thay thế bằng cách sử dụng hiện đại của một nhà xây dựng. KeyboardEvent()

Làm cách nào để phát hiện nhấn phím enter trong Python?

exit(0) #exit program ''' #(not user_input) kiểm tra xem người dùng có nhấn phím enter mà không nhập # số. #(int(user_input)

Lệnh nào được sử dụng để lấy tổ hợp phím trong Python?

Để nhận thông tin qua bàn phím, Python sử dụng hàm input() .