A method for scrolling through contents on a display of a host computer, comprising the steps of: • sensing, in a sequence of scroll pulses, (i) elapsed time spans between each of a plurality of the scroll pulses resulting from a user operating a scroll device being a part of a human-machine interface device which is adapted to communicate with the host computer, and (ii) a direction (fw, bk) of the operation of the scroll device by the user; • upon sensing elapsed time spans following a first scroll pulse until a subsequent scroll pulse is sensed, carrying out the following: • identifying a 'single scroll' or a 'fast scroll', depending on the elapsed time between subsequent scroll pulses; • upon identifying a 'single scroll', issuing a single scroll event by a controller residing in the human machine interface device to initiate a single scroll command in the host computer; and • upon identifying a 'fast scroll', issuing a number (nss) of single scroll events by the controller of the human-machine interface device to initiate a respective number of scroll commands in the host computer with predetermined time spans (ts) between subsequent scroll events; wherein the number (nss) of single scroll events is based on a value stored in the human-machine interface device, and wherein the predetermined time spans (ts) between subsequent scroll events are defined by a function or table of time span values stored in the human-machine interface device, wherein the conversion of each scroll event into lines or pages of the contents to be moved on the display is the same regardless of identifying a 'single scroll' or a 'fast scroll'. • sensing, in a sequence of scroll pulses, (i) elapsed time spans between each of a plurality of the scroll pulses resulting from a user operating a scroll device being a part of a human-machine interface device which is adapted to communicate with the host computer, and (ii) a direction (fw, bk) of the operation of the scroll device by the user; (i) elapsed time spans between each of a plurality of the scroll pulses resulting from a user operating a scroll device being a part of a human-machine interface device which is adapted to communicate with the host computer, and (ii) a direction (fw, bk) of the operation of the scroll device by the user; • upon sensing elapsed time spans following a first scroll pulse until a subsequent scroll pulse is sensed, carrying out the following: • identifying a 'single scroll' or a 'fast scroll', depending on the elapsed time between subsequent scroll pulses; • upon identifying a 'single scroll', issuing a single scroll event by a controller residing in the human machine interface device to initiate a single scroll command in the host computer; and • upon identifying a 'fast scroll', issuing a number (nss) of single scroll events by the controller of the human-machine interface device to initiate a respective number of scroll commands in the host computer with predetermined time spans (ts) between subsequent scroll events; wherein the number (nss) of single scroll events is based on a value stored in the human-machine interface device, and wherein the predetermined time spans (ts) between subsequent scroll events are defined by a function or table of time span values stored in the human-machine interface device,