Hi @sof.pag,
In this case, what you should do, is create a task (or poll from your Model::tick() method if you're just playing around) that can read the state of the buttons and communicate that to the GUI Task through an OS message queue. Take the element out of the queue from within Model::tick() and use your ModelListener interface to send the value to your active Presenter. The Presenter passes the value to the View which then passes the value to your Scrollable List to scroll either up or down depending on the button pressed.
That's the quick version. Let me know if that helps you - Otherwise we can get more specific.
You'll find that these examples (one polled-, one interrupt-based) will show you how to get data from UI to task and task to UI:
http://ftp.draupnergraphics.com/TouchGFX/knowledgebase/hw_integration_tasks_gpio.4.9.3.zip
http://ftp.draupnergraphics.com/TouchGFX/knowledgebase/hw_integration_tasks_exti.4.9.3.zip
Then all you need to do is have a handle in your Scrollable List that can scroll in both directions in the increments you decide on and that you can call when your presenter receives some signal, e.g. UserButtonPressed.
Best regards,
Martin