How to pass detected key strokes on to a scroll view in order to scroll it

I have a SwiftUI app which has a grid which is made up of GridRows within a Grid. These are, in turn, held in a ScrollView within a ScrollViewReader. Focus is always on a filter text box which is used to filter the grid display. All this works just fine.

I'm also using a hidden button to monitor cursor up and cursor down keystrokes. These keystrokes, among other things, should instigate scrolling of the ScrollView. The problem is that I cannot work out a way to trigger the scrolling from the change due to the keys.

I'm altering this @State private var scrollRequest: Int = 0 to either -1 or +1 if I need a scroll action. I'm using this code to try to pick up the change...

					.onChange(of: scrollRequest) { newScrollRequest in
						if newScrollRequest != 0 {
							scrollRequest = 0
							let currentScrollPosition = geometry.frame(in: .global).minY
							let scrollOffset = CGFloat(newScrollRequest) * TextUtils.textHeight(text: "XXXX", fontName: "Monaco", size: 14)
							let newScrollPosition = currentScrollPosition + CGFloat(scrollOffset)
							scrollView.scrollTo(newScrollPosition, anchor: .top)
						}

The code is being run when scrollRequest is changed but the desired scroll on my ScrollView is not happening. Any ideas, anyone?

How to pass detected key strokes on to a scroll view in order to scroll it
 
 
Q