Skip to content

Auto-scroll prevents many blocks from being moved to drag targets near edge of visible worksapce #581

@cpcallen

Description

@cpcallen

Check for duplicates

  • I have searched for similar issues before opening a new one.

Description

The intention of using the dragger to implement keyboard moves was partially to take advantage of the existing machinery for e.g. showing insertion markers for candidate connections, and partially to ensure that a user moving blocks using the keyboard would be able to do all the same things a user using the mouse would, including dragging blocks to drag targets such as the trash or backpack, or using drag-to-duplicate procedure parameters.

Unfortunately, #451 has broken the ability to use unconstrained movement to move a block to drag targets near the edge of the visible workspace (e.g., in to the trash), for all but the smallest blocks.

Reproduction steps

  1. On the test page, click on the "draw circle" block.
  2. Press m.
  3. Holding down the unconstrained drag modifier (⌥ or control), use the arrow keys to move the block to the trash.

Observe that, at most zoom levels, it is impossible to delete the block because the workspace scrolls before the top left corner of the block reaches the trash.

Compare with:

  1. Drag a MATH_NUMBER block from the toolbox onto the workspace.
  2. Press m
  3. Holding down the unconstrained drag modifier (⌥ or control), use the arrow keys to move the block to the trash.
  4. Once the trash can lid opens, press enter to delete the block.

Observe that it is (correctly) possible to delete small blocks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions