This is how you enable middle-mouse button scrolling (hold the mouse button and move by dragging the mouse. I got used to this in KDE) with Sway:
input "type:pointer" {
scroll_method on_button_down
scroll_button 274
}
What is this config? It all seems so opaque. This isn't documented anywhere either.
input <identifier> scroll_button disable|button[1-3,8,9]|<event-code-or-name>
Sets the button used for scroll_method on_button_down. The button can be given as an event name or code, which can be obtained from libinput debug- events, or as a x11 mouse button (button[1-3,8,9]). If set to disable, it disables the scroll_method on_button_down.
Very helpful.