Đ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 điều hướng bằng bàn phím

Để di chuyển bằng bàn phím thành công, người dùng phải hoàn tất được các thao tác sau:

  • Di chuyển xung quanh không gian làm việc
  • Kết nối các khối trên một không gian làm việc
  • Thêm một khối vào không gian làm việc
  • Tách khối
  • Thao tác trong hộp công cụ
  • Điều hướng trong chế độ bay
  • Chèn khối từ vùng bay

Nội dung dưới đây giải thích cách thao tác di chuyển bằng bàn phím mặc định của Blockly hoàn thành những nhiệm vụ này.

Bật đ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 di chuyển 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 di chuyển bằng bàn phím lần đầu tiên, một đường kẻ màu đỏ nhấp nháy sẽ xuất hiện trên không gian làm việc. Đây là con trỏ. Nó cho thấy vị trí hiện tại của người dùng và thông tin 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 vào nút shift, một đường kẻ màu đỏ nhấp nháy sẽ xuất hiện trên màn hình. Đây là con trỏ.

Nhấn Enter sẽ tạo một đường màu xanh dương tại vị trí hiện tại mô tả điểm đánh dấu của người dùng. Điểm đánh dấu hiển thị vị trí mục tiêu để chèn khối. Thuộc tính này 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, hãy nhập một đường màu xanh dương 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 dữ liệu đầ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ả thành phần thành nhiều cấp.

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

Cấp độ làm việc

Vào chế độ di chuyển bằng bàn phím bằng cách nhấn Shift + Ctrl + k. Thao tác này sẽ đặt con trỏ trên không gian làm việc hoặc trên 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 A hai lần. Để di chuyển con trỏ trên không gian làm việc, hãy sử dụng Shift + WASD. Để chuyển sang cấp ngăn xếp, hãy dùng phím D.
Con trỏ trên không gian làm việc dạng khối sẽ di chuyển khi người dùng nhấn các phím Shift và W A S D. Khi người dùng nhấn vào 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 khoá WS. Ở cấp độ này, con trỏ được biểu thị bằng một hình chữ nhật màu đỏ đồng nhất xung quanh tất cả các khối trong một ngăn xếp. Để chuyển đến khối đầu tiên trong ngăn xếp đã chọn, hãy dùng phím D.
Khi người dùng nhấn, con trỏ sẽ di chuyển tới ngăn xếp khối tiếp theo. Khi người dùng nhấn vào phím d, con trỏ xuất hiện dưới dạng đường kẻ màu đỏ nhấp nháy phía trên khối đầu tiên trong ngăn xếp đã chọn.

Mức độ khối và kết nối

Cấp này lưu giữ một khối và mọi kết nối bên ngoài trong khối đó. Con trỏ mặc định được đặt để bỏ qua khối nếu có kết nối trước đó hoặc đầu ra. Nếu không tồn tại thì con trỏ sẽ di chuyển đến khối, như minh hoạ bên dưới.

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

Dưới đây là 3 cách kết nối bên ngoài có thể có.
Một đườ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ỏ sẽ được biểu thị bằng một đườ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 mụ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 đường nhấp nháy màu đỏ ở kết nối tiếp theo của 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 nhập

Cấp này lưu giữ tất cả các trường và dữ liệu đầu vào nằm trong khối. Bạn có thể xem ví dụ về các trường và dữ liệu đầu vào dưới đây.
Hình chữ nhật màu đỏ làm nổi bật các ví dụ về mục nhập 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 có thể chỉnh sửa và dữ liệu đầu vào 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 đầu vào, con trỏ là một mảnh ghép màu đỏ nhấp nháy. Khi con trỏ ở trên một đầu vào, hãy nhấn D để di chuyển đến khối đã kết nối.

Con trỏ di chuyển qua các mục nhập và trường của khối khi người dùng nhấn phím S. Khi người dùng nhấn d khi đang ở đầu vào có khối được kết nối, con trỏ sẽ xuất hiện dưới dạng đường màu đỏ nhấp nháy ở phía trên 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.

Con trỏ sẽ 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 vào, một 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 phím Enter để đóng trình đơn thả xuống.

Kết nối các khối vuông 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. Điều hướng đến đ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)

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

Di chuyển một khối trên Workspace

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 đến vị trí mong muốn và thả khối đó ra. Với phím tắt, bạn đánh dấu vị trí mục tiêu của mình, di chuyển đến khối bạn muốn di chuyển rồi yêu cầu khối đó di chuyển.

  1. Di chuyển đến một vị trí trong không gian làm việc bằng các 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 mà 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

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

Ngăn ngắt kết nối

Thông thường, trong Blockly, bạn ngắt kết nối hai khối bằng cách chọn khối kém hơn 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 X bằng con trỏ trên kết nối mà bạn muốn ngắt.

  1. Di chuyển đến kết nối bạn muốn ngắt bằng các phím WASD
  2. Ngắt 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 tới các khối trong chế độ bay
  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ừ cửa sổ bật lên

Khi người dùng nhấn vào một hộp công cụ, một hộp công cụ sẽ mở ra và hiển thị các danh mục khối khác nhau. Đạt được điểm di chuyển qua các danh mục khác nhau. Khi người dùng nhấn vào, khối đầu tiên trong danh mục được đánh dấu. Nhấn Enter sẽ đặt khối trên không gian làm việc và đóng hộp công cụ.

Thử nghiệm

Chúng tôi tin rằng có 4 lĩnh vực chính mà mọi người có thể muốn thử nghiệm:

  1. Ánh xạ phím: Những khoá nào nên ánh xạ đến 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 to vị trí con trỏ cũng như mọi lỗi hoặc cảnh báo.
  3. Di chuyển trong không gian làm việc: Cách người dùng di chuyển giữa 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 của con trỏ: Giao diện 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àn phím khối.

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

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

Hỏi: Tại sao Google không 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 khoá WASD.
Tuy nhiên, chúng tôi nhận thấy 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 các sơ đồ khoá.

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ĩ về việc di chuyển bằng bàn phím, chúng tôi cần một cách thức có cấu trúc để di chuyển 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 khác nhau.
Trong nội bộ, chúng tôi biểu thị điều này bằng cây cú pháp trừu tượng (AST). Việc triển khai con trỏ mặc định không khác với mô hình này.Điều này là nhằm giúp nhà phát triển hiểu rõ hơn về cấu trúc cơ bản. Có các cursors khác có thể dễ hiểu hơn đối với người dùng cuối.

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 bị chặn (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 bugs điều hướng bằng bàn phím mở.