ComputerCraft icon indicating copy to clipboard operation
ComputerCraft copied to clipboard

Horizontal scroll event

Open viluon opened this issue 7 years ago • 11 comments

It'd be nice if there were a mouse_horizontal_scroll (/mouse_horiz_scroll/mouse_hor_scroll, or maybe mouse_scroll_horizontal/...) event, or an extra parameter to the existing mouse_scroll event, either a boolean indicating the scroll axis, or another number equal to the amount of horizontal scrolling performed.

This would enable programs to react on full 2D scrolling on notebook touchpads, for example.

viluon avatar Aug 19 '18 13:08 viluon

If you're talking about mouse_scroll, it could probably be as simple as to have os.pullEvent("mouse_scroll") return another parameter for horizontal scroll direction, like it does with vertical. so the output would be event, verticalDirection, horizontalDirection, x,y. Though, I'm no expert and there's most likely a better way to do this.

nothjarnan avatar Aug 20 '18 11:08 nothjarnan

I feel it'd be better to do this as a separate event. There's probably a fair few programs that will not cope with the scroll delta being zero (doing if delta > 0 then else and what not).

SquidDev avatar Aug 20 '18 12:08 SquidDev

fair point. so a mouse_scroll_horizontal event would be doable?

nothjarnan avatar Aug 20 '18 12:08 nothjarnan

Oh right, thanks @nothjarnan, I forgot about the mouse_ prefix. Updated the issue.

viluon avatar Aug 20 '18 12:08 viluon

I believe glfw reports both x and y scroll deltas, so should definitely be possible for 1.13. I suspect 1.12 is feasible, just haven't looked into it.

SquidDev avatar Aug 20 '18 12:08 SquidDev

Not to mention that this would enable much higher end mice with horizontal scrolling to be of use like this fabulous one that I personally own and think everyone should have because why wouldn't you.

On a side note, the mouse does have four (maybe six, idk if the DPI shift buttons count) additional buttons. Maybe it's a good call to have a mouse event overhaul in general?

hugeblank avatar Sep 22 '18 09:09 hugeblank

@hugeblank Allow for more mouse buttons? The one issue I could see with that is that programs are made that only work with certain mice, or a mouse that has x amount of buttons. But then it'd just be as easy as asking the author to make the buttons re-bindable, to be fair.

nothjarnan avatar Sep 25 '18 10:09 nothjarnan

@nothjarnan @hugeblank while this isn't a conversation well suited for this issue, strictly speaking, I believe ComputerCraft already supports more buttons — any extra buttons are simply assigned higher numbers (for example, my back button triggers an event, and is listed as button 5). This may be a perk of CCEmuX, however.

viluon avatar Sep 26 '18 20:09 viluon

I think so. I have tried to use buttons in game and iirc this doesn't work. May have been a CC:T thing too.

hugeblank avatar Sep 26 '18 20:09 hugeblank

Yeah, CC explicitly guards against that. CCEmuX really should too:

https://github.com/dan200/ComputerCraft/blob/914df8b0c7cc28451ea56a53808024511ff52642/src/main/java/dan200/computercraft/client/gui/widgets/WidgetTerminal.java#L182

Edit: And it does! Yes, I'm evil.

SquidDev avatar Sep 26 '18 20:09 SquidDev