SmoothCursor is a status bar application that provides separate controls for customizing the mouse and trackpad accelerations - It is the perfect tool to use in combination with drawing.
56 votes, 12 comments. The developers tweet:- The tweak seems to not work for people. But according to this source it does work in few apps. Smooth Program Scheduler 1.0 can be downloaded from our website for free. The program relates to System Utilities. The most popular version among the program users is 1.0. This software is an intellectual property of XemiComputers Ltd. Scheduler.exe is the common file name to indicate the Smooth Program Scheduler installe.
╔════╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═════╗
║ ╔══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╗ ║
╠─╣ by RPG Maker Source. ╠─╣
║ ╚══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╝ ║
╠════╩═╤═╩═╤═╩═╤═╩═╤═╩═╤═╩═╤═╩═╤═╩═╤═╩═╤═╩═╤═╩═╤═╩═╤═╩═╤═╩═╤═╩═╤═╩═╤═╩═╤═╩═════╣
║ ┌────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴─────┐ ║
║ └────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┘ ║
╠══════╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══════╣
║ This work is protected by the following license: ║
║ ╔══════════════════════════════════════════════════════════════════╗ ║
║ │ Copyright © 2014 Maker Systems. │ ║
║ │ This software is provided 'as-is', without any kind of │ ║
║ │ warranty. Under no circumstances will the author be held │ ║
║ │ liable for any damages arising from the use of this software. │ ║
║ │ Permission is granted to anyone to use this software on their │ ║
║ │ free or commercial games made with a legal copy of RPG Maker │ ║
║ │ VX Ace, as long as Maker Systems - RPG Maker Source is │ ║
║ │ │ ║
║ │ Selling this code or any portions of it 'as-is' or as part of │ ║
║ │ │ ║
║ │ The original header, which includes this copyright notice, │ ║
║ │ must not be edited or removed from any verbatim copy of the │ ║
║ │ │ ║
║ ╚══════════════════════════════════════════════════════════════════╝ ║
║ ║
╠══════════════════════════════════════════════════════════════════════════════╣
╠══════════════════════════════════════════════════════════════════════════════╣
║ • Version 1.0.0, 24/11/14 - (DD/MM/YY). ║
║ • Version 1.0.1, 30/11/14 - (DD/MM/YY). ║
║ • Version 1.0.2, 17/12/14 - (DD/MM/YY). ║
║ • Version 1.0.3, 30/03/15 - (DD/MM/YY). ║
║ • Version 1.0.4, 24/05/15 - (DD/MM/YY). ║
╠══════════════════════════════════════════════════════════════════════════════╣
╠══════════════════════════════════════════════════════════════════════════════╣
╠══════════════════════════════════════════════════════════════════════════════╣
║ ┌──────────────────────────────────────────────────────────────────────────┐ ║
║ └┬┬┬┬──────────────────────────────────────────────────────────────────┬┬┬┬┘ ║
║ Hello there! This script is 'plug and play', you can simply insert it into ║
║ ║
║ This script embellishes your GUIs by changing the way the default Window ║
║ cursor works in RPG Maker VX Ace. The cursor will smoothly move to its new ║
║ position when selecting items and will also smoothly change its size when ║
║ ║
║ The scrolling of the window contents will also be smooth. ║
║ We hope you enjoy it. ║
║ Thanks for choosing our products. ║
║ ┌──────────────────────────────────────────────────────────────────────────┐ ║
║ └┬┬┬┬──────────────────────────────────────────────────────────────────┬┬┬┬┘ ║
║ 'How do I change the speed of the cursor movement?' ║
║ Right click anywhere in the script editor and select 'Find' (or CTRL + F) ║
║ search for 'DELAY_LEVEL' (without quotation marks). ║
║ You will see something like 'DELAY_LEVEL = 4' ║
║ Set the number after the equality sign to any numer you like, bigger or ║
║ equal than 1. The bigger the number, the stronger the deceleration effect ║
║ and thus the slower the cursor speed when changing selections (or ║
║ dimensions). Small numbers result in a faster deceleration, default value ║
║ ║
╠══════════════════════════════════════════════════════════════════════════════╣
╠══════════════════════════════════════════════════════════════════════════════╣
╠══════════════════════════════════════════════════════════════════════════════╣
║ Have fun and enjoy! ║
╠══════════════════════════════════════════════════════════════════════════════╣
╠══════════════════════════════════════════════════════════════════════════════╣
╠══════════════════════════════════════════════════════════════════════════════╣
║ Keep in touch with us and be the first to know about new releases: ║
║ www.rpgmakersource.com ║
║ www.twitter.com/RPGMakerSource ║
║ ║
║ Get involved! Have an idea for a system? Let us know. ║
║ Spread the word and help us reach more people so we can continue creating ║
║ ║
╚══════════════════════════════════════════════════════════════════════════════╝)
#
#------------------------------------------------------------------------------
#
module MakerSystems
#
#----------------------------------------------------------------------------
#
module SmoothCursor
#------------------------------------------------------------------------
#------------------------------------------------------------------------
#
#------------------------------------------------------------------------------
# Alias to Update. Update Cursor Replaced. Added method to handle the effect.
#
class Window_Selectable < Window_Base
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
alias_method(:ms_smooth_cursor_original_update, :update)
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
# Original method.
# Stop unless cursor update is needed.
return unless @ms_smooth_cursor_target && self.index >= 0 && !disposed?
ms_smooth_cursor_update
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
# Current Rect.
# Get the target Rect.
# Get the target Offset Y.
# Shortcut to desired delay.
delay = MakerSystems::SmoothCursor::DELAY_LEVEL.to_f
step = ((target.x - now.x).to_f / delay)
now.x += target.x > now.x ? step.ceil : step.floor
step = ((target.y - now.y).to_f / delay)
now.y += target.y > now.y ? step.ceil : step.floor
step = ((target.width - now.width).to_f / delay)
now.width += target.width > now.width ? step.ceil : step.floor
step = ((target.height - now.height).to_f / delay)
now.height += target.height > now.height ? step.ceil : step.floor
if self.respond_to?(:visible_line_number) && visible_line_number 1
# Calculates and applies step value for Offset Y.
self.ox += target_oy > self.ox ? step.ceil : step.floor
# If targets reached, stop ms_smooth_cursor_update.
if cursor_rect target && self.ox target_oy
end
# Calculates and applies step value for Offset Y.
self.oy += target_oy > self.oy ? step.ceil : step.floor
# If targets reached, stop ms_smooth_cursor_update.
if cursor_rect target && self.oy target_oy
end
end
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
col = 0 if col < 0
@ms_smooth_cursor_target_ox = col * (item_width + spacing)
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
def ms_smooth_cursor_hrzcommand_bottom_col=(col)
self.ms_smooth_cursor_hrzcommand_top_col = col - (col_max - 1)
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
def ms_smooth_cursor_hrzcommand_ensure_cursor_visible
self.ms_smooth_cursor_hrzcommand_top_col = index if index < top_col
self.ms_smooth_cursor_hrzcommand_bottom_col = index if index > bottom_col
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
if @cursor_all
cursor_rect.set(0, 0, contents.width, row_max * item_height)
elsif @index < 0
else
if self.respond_to?(:visible_line_number) && visible_line_number 1 &&
# Special case for HorzCommand window or any horizontally extended one.
ms_smooth_cursor_hrzcommand_ensure_cursor_visible
ms_target_oy = @ms_smooth_cursor_target_ox
else
# Manages Offset Y as in ensure_cursor_visible but instead of using
# top_row to set the value, passes it to ms_smooth_cursor_update.
if row < top_row || row > bottom_row
msrow = msrow - (page_row_max - 1) if row > bottom_row
msrow = row_max - 1 if msrow > row_max - 1
end
# New targets.
@ms_smooth_cursor_target = [item_rect(@index), ms_target_oy]
end
end