Using Switches and Scanning with Weavly

In July 2021, we virtually met with students in Ontario and Alberta who use switches and scanning software when using their computers. We started with an initial meeting with each student’s support team including educators, caregivers, occupational therapists, and assistive technology engineers to demonstrate Weavly, its keyboard shortcuts, and the integration of Grid 3. The goal of this meeting was to assist the student’s support team to adapt Weavly for their needs and setup an accessible environment for their participation in the co-design workshop.

A few days after that initial meeting, we had a one hour workshop with each student. During the workshop, students worked with facilitators and developers from the C2LC team, and had access to their support team to complete the co-design activities using Weavly.


The co-designers were in grades 2, 9, and 10. The youngest uses Grid 3 with two switch scanning, one switch to advance and one to activate. The older co-designers use Tobii communicator 5 devices with one switch scanning or quadrant scanning (4 switches: top left, top right, bottom left, bottom right with no repeating or timing or automatic advancement).

The co-designers were able to communicate their feedback using voice, typing messages, or with body and facial expressions. They were all skilled and comfortable using their switch systems however, they didn’t have any prior coding experience.


During the workshop, co-designers had 5-10 minutes to try different aspects of Weavly. Following this free exploration, the facilitators provided a brief explanation of different parts of Weavly, including the Scene, the Actions panel and the Program. Once they felt more familiar with the interface, co-designers were asked to build a program to make their character draw a square on the scene. This activity was goal-oriented and required mathematical and directional skills.

Our co-designers in grade 9 and 10 had a chance to try another activity. In this task, they were asked to build a program to finish an incomplete drawing on the scene. This activity was more open-ended and students could complete the shape in any way they preferred.

General Learnings

  • Switch scanning methods can be very different and should not be mixed.
  • It is important to offer switch scanners a setting to configure their grid and scanning method. Options to customize scanning settings can include:
    • Placement of items on the scanning grid
    • Grouping of items on the scanning grid
    • Colour coding of different rows and individual items on the scanning grid
    • Timing of automated scanning
    • Repeat function
    • Highlighting the colour of the focus point
  • Specific grids should be offered for single switch scanners, two-step switch scanners, and multi-switch scanners.
  • All interactions for switch users should be designed for navigation efficiency to minimize the number of switch interactions and physical movements.
  • Placement, order, and groupings of the keyboard shortcuts in Grid 3 or other scanning grids can help with navigation efficiency.
  • Colour coding the keyboard shortcuts and possibly making them look similar to what we have on the interface helps with navigation and selection of the right items.
  • Scrolling can be difficult for switch users.

Suggested Improvements for Weavly

Our co-designers focused on building a program and playing it. None of our participants tried to change the themes and they mostly left the Audio toggle on during their use of Weavly. They did not directly use the keyboard shortcuts, however, they used the keyboard shortcuts that were integrated into their Grid 3 or other scanning grids. The following suggestions were made during the sessions and the debriefing meetings with the C2LC facilitators and the development team.

Keyboard shortcuts

Including the following keyboard shortcuts can help with switch scanning navigation:

  • Select (Do not use the term “Click” as it is not familiar for non mouse users)
    • Something to help you add a step without interacting with the add nodes
  • Delete Last Step or Undo
  • Add to End
  • Go to the beginning of program
  • Escape
  • Share
  • Selecting the theme
  • Selecting the character
  • Action block control panel functions
  • Expand and collapse “Add Nodes”

Keyboard shortcuts didn’t work with US international keyboard layout


  • Moving the focus on the program sequence (ex. Adding a step within a sequence or deleting a step) was a difficult task for all co-designers as it required several movements and switch interactions.
  • The interactions for debugging a sequence or editing the program with the Action block’s control panel should be reconsidered as it is not visible to users and difficult to navigate.
  • Visual indicator for blocks to denote that there is more functionality if you select it
  • Scanners may experience difficulty with items that have focus traps (Action blocks control panel or replace function). It is difficult to exit the focus traps unless there is an escape shortcut or assistance from a facilitator.


  • Offer a selection of multiple alternative background scenes, such as a town map, a maze, planets, dot-to-dot shapes, etc. These background scenes can be part of activities like having the character navigate through mazes or following templated shapes on a dotted grid background.
  • The default position of the character on the scene can be determined by each background theme.
  • Offer a menu to select a default starting position (centre, top-left, top-right, etc.).
  • While playing a program, add simple animation to characters that are moving on the scene.
  • Provide different pen colours to draw with on the scene.
  • Provide an option for a fixed grid size scene to ensure the grid is visible at all times without scrolling.

World Selector

  • Create more character options.


  • Adding a selected action to the end of a program sequence directly can help with switch navigation.
    • The Actions panel (either on the Weavly interface or Grid 3 or other scanning grids) would then function similar to an on-screen keyboard where clicking on an Action adds it to the end of the program.
    • This would enable efficient building of a program continuously, rather than select and add as separate operations.
    • This would also enable adding more actions to a program sequence while staying on the same grid.
    • If users want to add an Action elsewhere:
      • They would need to select where they want the action to go in the program sequence
      • Then, they would select the Action and it is inserted where they have chosen
      • After the Action is added, the interaction switches back to the default where the next Action selected goes to the end of the program.
  • Offer parameterization for action blocks to reduce the number of blocks on the Actions panel and minimize the need for scrolling.