Điều hướng bằng bàn phím

Hướng dẫn này tập trung vào cách sử dụng tính năng điều hướng bằng bàn phím mặc định vì tính năng này hiện được triển khai trong Blockly.

Sử dụng tính năng Điều hướng bằng bàn phím

Để thao tác bằng bàn phím thành công, người dùng phải có thể hoàn thành các nhiệm vụ sau:

  • Di chuyển trong không gian làm việc
  • Kết nối các khối trên không gian làm việc
  • Thêm một khối vào không gian làm việc
  • Tách các khối
  • Di chuyển trong hộp công cụ
  • Di chuyển trong cửa sổ bật ra
  • Chèn các khối từ trình đơn bật lên

Phần dưới đây giải thích cách thao tác bằng bàn phím mặc định của Blockly thực hiện các nhiệm vụ này.

Bật tính năng Điều hướng bằng bàn phím

Người dùng có thể bật và tắt tính năng điều hướng bằng bàn phím bằng cách nhấn tổ hợp phím Shift + Ctrl + k. Khi bạn bật tính năng điều hướng bằng bàn phím lần đầu tiên, một đường màu đỏ nhấp nháy sẽ xuất hiện trên không gian làm việc. Đây là con trỏ. Thành phần hiển thị vị trí hiện tại của người dùng và cập nhật khi người dùng di chuyển trong không gian làm việc.
Khi người dùng nhấn tổ hợp phím shift control k, một đường màu đỏ nhấp nháy sẽ xuất hiện trên màn hình. Đây là con trỏ.

Khi nhấn phím Enter, một đường màu xanh dương sẽ được tạo tại vị trí hiện tại, mô tả điểm đánh dấu của người dùng. Một điểm đánh dấu cho biết vị trí mục tiêu để chèn khối. Nó không cập nhật khi bạn di chuyển con trỏ xung quanh không gian làm việc.
Khi người dùng nhấn enter, một đường màu xanh dương sẽ xuất hiện trên màn hình. Đây là điểm đánh dấu.

Sử dụng con trỏ mặc định

Không gian làm việc bao gồm các đầu vào, trường, kết nối, khối và toạ độ không gian làm việc. Con trỏ mặc định di chuyển xung quanh không gian làm việc bằng cách chia tất cả các thành phần thành nhiều cấp.

Để di chuyển giữa các cấp, hãy sử dụng phím AD. Để di chuyển trong một cấp, hãy sử dụng phím WS.

Cấp không gian làm việc

Chuyển sang chế độ điều hướng bằng bàn phím bằng cách nhấn tổ hợp phím Shift + Ctrl + k. Thao tác này sẽ đặt con trỏ vào không gian làm việc hoặc vào khối đầu tiên trên không gian làm việc. Nếu con trỏ nằm trên một khối, hãy di chuyển con trỏ đó đến cấp không gian làm việc bằng cách nhấn phím A hai lần. Để di chuyển con trỏ trên không gian làm việc, hãy sử dụng tổ hợp phím Shift + WASD. Để di chuyển đến cấp ngăn xếp, hãy sử dụng phím D.
Con trỏ trên không gian làm việc Blockly di chuyển khi người dùng nhấn phím Shift và W A S D. Khi người dùng nhấn phím d, con trỏ sẽ xuất hiện dưới dạng hình chữ nhật xung quanh ngăn xếp khối đầu tiên

Cấp độ ngăn xếp

Ở cấp ngăn xếp, bạn có thể di chuyển giữa các ngăn xếp khối trên không gian làm việc bằng cách sử dụng các phím WS. Ở cấp độ này, con trỏ được biểu thị bằng một hình chữ nhật màu đỏ đậm xung quanh tất cả các khối trong ngăn xếp. Để chuyển đến khối đầu tiên trong ngăn xếp đã chọn, hãy sử dụng phím D.
Khi người dùng nhấn phím s, con trỏ sẽ di chuyển đến ngăn xếp khối tiếp theo. Khi người dùng nhấn phím d, con trỏ sẽ xuất hiện dưới dạng một đường màu đỏ nhấp nháy phía trên khối đầu tiên trong ngăn xếp đã chọn.

Cấp độ chặn và kết nối

Cấp này chứa một khối và tất cả các kết nối bên ngoài trên khối đó. Con trỏ mặc định được đặt để bỏ qua khối nếu có kết nối đầu ra hoặc trước đó. Nếu không có khối nào, con trỏ sẽ di chuyển đến khối, như minh hoạ bên dưới.

Khi người dùng nhấn phím d, con trỏ sẽ di chuyển từ hình chữ nhật màu đỏ xung quanh ngăn xếp các khối thành một nửa hình chữ nhật bao quanh khối đầu tiên trong ngăn xếp.

Ba cách kết nối bên ngoài có thể xảy ra được hiển thị bên dưới.
Đường màu đỏ làm nổi bật 3 kết nối bên ngoài có thể có. Đây là các kết nối trước, tiếp theo và đầu ra trên một khối.

Ở cấp khối và kết nối, bạn có thể di chuyển qua các kết nối bên ngoài bằng các phím WS. Ở cấp độ này, con trỏ được biểu thị bằng đường viền màu đỏ nhấp nháy của kết nối hiện tại. Để chuyển đến trường đầu tiên hoặc nhập trên một khối, hãy nhấn phím D.
Khi người dùng nhấn phím S, con trỏ sẽ xuất hiện dưới dạng một đường màu đỏ nhấp nháy trên kết nối tiếp theo của một khối. Khi người dùng nhấn phím d, con trỏ sẽ xuất hiện dưới dạng hình chữ nhật màu đỏ xung quanh trường đầu tiên trên khối.

Trường và cấp độ đầu vào

Cấp này chứa tất cả các trường và dữ liệu đầu vào trên khối. Dưới đây là ví dụ về giao diện của các trường và dữ liệu đầu vào.
Hình chữ nhật màu đỏ làm nổi bật các ví dụ về dữ liệu đầu vào và trường trên một khối.
Ở cấp độ này, bạn có thể di chuyển qua các trường và đầu vào có thể chỉnh sửa của khối hiện tại bằng WS. Đối với một trường, con trỏ là một hình chữ nhật màu đỏ đồng nhất. Đối với dữ liệu đầu vào, con trỏ là một mảnh ghép màu đỏ nhấp nháy. Khi con trỏ nằm trên một đầu vào, hãy nhấn phím D để di chuyển đến khối đã kết nối.

Con trỏ di chuyển qua các trường và dữ liệu đầu vào của khối khi người dùng nhấn phím S. Khi người dùng nhấn phím d trong khi nhập một khối được kết nối, con trỏ sẽ xuất hiện dưới dạng một đường màu đỏ nhấp nháy ở đầu khối được kết nối.

Khi con trỏ nằm trên một trường, hãy nhấn phím Enter để chỉnh sửa trường đó.

Con trỏ hiển thị dưới dạng hình chữ nhật màu đỏ xung quanh một trường. Khi người dùng nhấn enter, trình đơn thả xuống sẽ mở ra. Người dùng nhấn phím S để chọn một giá trị trong trình đơn thả xuống, sau đó nhấn Enter để đóng trình đơn thả xuống.

Kết nối các khối trên Workspace

  1. Chuyển đến kết nối mục tiêu bằng các phím WASD
  2. Đánh dấu kết nối bằng phím Enter
  3. Di chuyển đến một điểm kết nối hợp lệ bằng các phím WASD
  4. Kết nối hai khối bằng phím I (để chèn)

Một kết nối đầu vào có một điểm màu xanh dương cho biết kết nối đó đã được đánh dấu. Khi người dùng nhấn vào i trên một kết nối hợp lệ, khối sẽ di chuyển đến điểm kết nối được đánh dấu.

Di chuyển một khối trên Không gian làm việc

Thông thường, trong Blockly, bạn di chuyển một khối đến không gian làm việc bằng cách chọn khối đó, kéo khối đó đến vị trí mong muốn rồi thả khối đó. Với các phím tắt, bạn đánh dấu vị trí mục tiêu, chuyển đến khối bạn muốn di chuyển rồi yêu cầu khối đó di chuyển.

  1. Chuyển đến một vị trí trên không gian làm việc bằng cách sử dụng tổ hợp phím Shift + WASD
  2. Đánh dấu vị trí đó trên không gian làm việc bằng phím Enter
  3. Di chuyển đến khối bạn muốn di chuyển bằng các phím WASD
  4. Di chuyển khối đến vị trí được đánh dấu bằng phím I

Con trỏ sẽ xuất hiện trên không gian làm việc Blockly. Khi người dùng nhấn enter, họ sẽ đánh dấu vị trí của mình và một đường màu xanh dương sẽ xuất hiện ở vị trí này. Bằng cách sử dụng các phím WASD, họ di chuyển con trỏ đến kết nối bên ngoài của một khối. Khi người dùng nhấn vào i, khối sẽ di chuyển đến vị trí được đánh dấu.

Tách các khối

Thông thường, trong Blockly, bạn sẽ ngắt kết nối hai khối bằng cách chọn khối cấp dưới và kéo khối đó ra khỏi khối mẹ. Với phím tắt, bạn có thể ngắt kết nối các khối bằng cách nhấn phím X khi con trỏ nằm trên mối kết nối mà bạn muốn ngắt.

  1. Di chuyển đến mối kết nối mà bạn muốn ngắt bằng các phím WASD
  2. Huỷ kết nối bằng X

Hai khối được kết nối trên màn hình với con trỏ hiển thị ở giữa. Khi người dùng nhấn phím x, các khối sẽ bị ngắt kết nối.

Chèn một khối từ Hộp công cụ

  1. Nhấn phím T để mở hộp công cụ
  2. Sử dụng các phím WS để di chuyển qua các danh mục
  3. Nhấn phím D để di chuyển đến các khối trong trình đơn bật lên
  4. Di chuyển qua các khối bằng phím WS
  5. Nhấn phím Enter để chèn một khối từ trình đơn bật lên

Khi người dùng nhấn phím t, một hộp công cụ sẽ mở ra cho thấy nhiều danh mục khối. Nhấn phím s để di chuyển qua các danh mục. Khi người dùng nhấn phím d, khối đầu tiên trong danh mục sẽ được làm nổi bật. Khi nhấn Enter, khối sẽ được đặt trên không gian làm việc và hộp công cụ sẽ đóng lại.

Thử nghiệm

Chúng tôi cho rằng có 4 lĩnh vực chính mà mọi người có thể quan tâm đến việc thử nghiệm:

  1. Liên kết phím: Những phím nào sẽ liên kết với những hành động nào.
  2. Văn bản cho trình đọc màn hình/Ghi nhật ký/Cảnh báo: Cách trình đọc màn hình đọc vị trí con trỏ cũng như mọi lỗi hoặc cảnh báo.
  3. Điều hướng trong không gian làm việc: Cách người dùng điều hướng các khối, trường, dữ liệu đầu vào và kết nối trên không gian làm việc.
  4. Giao diện con trỏ: Hình thức của con trỏ và điểm đánh dấu.

Để biết thêm thông tin về cách sử dụng các API này, vui lòng xem Lớp học lập trình về Điều hướng bằng bàn phím Blockly.

Nếu bạn muốn thử nghiệm ở những lĩnh vực khác mà chúng tôi có thể hỗ trợ, vui lòng điền vào biểu mẫu.

Câu hỏi thường gặp

Hỏi: Tại sao bạn không sử dụng các phím mũi tên để di chuyển bằng bàn phím?
Đáp: Trình đọc màn hình thường sử dụng các phím mũi tên. Chúng tôi không muốn can thiệp vào việc này nên đã chọn sử dụng các phím WASD.
Tuy nhiên, chúng tôi hiểu rằng mọi người đều có nhu cầu khác nhau, vì vậy, bạn nên tạo một cách dễ dàng để thay đổi lối liên kết phím.

Hỏi: Có vẻ khá phức tạp, tại sao chúng ta cần các lớp khác nhau?
Đáp: Khi nghĩ đến việc điều hướng bằng bàn phím, chúng ta cần có một cách có cấu trúc để di chuyển trong các khối, kết nối, trường, dữ liệu đầu vào và toạ độ không gian làm việc.
Trong nội bộ, chúng ta biểu thị điều này bằng cây cú pháp trừu tượng (AST). Cách triển khai con trỏ mặc định không khác xa mô hình này.Điều này là có chủ ý để giúp nhà phát triển hiểu rõ hơn về cấu trúc cơ bản. Có các con trỏ khác mà người dùng cuối có thể dễ hiểu hơn.

Các điểm hạn chế

Chúng tôi chưa hỗ trợ điều hướng đến các thành phần không phải khối (ví dụ: thùng rác, nút thu phóng và nút bật lên). Để biết thêm thông tin về các giới hạn, vui lòng xem danh sách lỗi điều hướng bằng bàn phím đang mở.