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.
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.
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 A và D. Để di chuyển trong một cấp độ, hãy sử dụng các phím W và S.
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.
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á W và S. Ở 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.
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.
Dưới đây là 3 cách kết nối bên ngoài có thể có.
Ở 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 W và S. Ở 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.
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.
Ở 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 W và S. Đố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.
Khi con trỏ nằm trên một trường, hãy nhấn phím Enter để chỉnh sửa.
Kết nối các khối vuông trên Workspace
- Chuyển đến kết nối mục tiêu bằng các phím WASD
- Đánh dấu kết nối bằng phím Enter
- Điều hướng đến điểm kết nối hợp lệ bằng các phím WASD
- Kết nối hai khối bằng phím I (để chèn)
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.
- Di chuyển đến một vị trí trong không gian làm việc bằng các phím Shift + WASD
- Đánh dấu vị trí đó trên không gian làm việc bằng phím Enter
- Di chuyển đến khối mà bạn muốn di chuyển bằng các phím WASD
- Di chuyển khối đến vị trí được đánh dấu bằng phím I
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.
- Di chuyển đến kết nối bạn muốn ngắt bằng các phím WASD
- Ngắt kết nối bằng X
Chèn một khối từ Hộp công cụ
- Nhấn phím T để mở hộp công cụ
- Sử dụng các phím W và S để di chuyển qua các danh mục
- Nhấn phím D để di chuyển tới các khối trong chế độ bay
- Di chuyển qua các khối bằng phím W và S
- Nhấn phím Enter để chèn một khối từ cửa sổ bật lên
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:
- Ánh xạ phím: Những khoá nào nên ánh xạ đến hành động nào.
- 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.
- 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.
- 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ở.