Commit Graph

21 Commits

Author SHA1 Message Date
Michael Natterer ce741342ce Bug 737570 - Shortcut [some modifier] + Mousewheel for changing pen size
Change the default controllerrc to do some useful things with the
current tool.
2016-03-28 02:01:25 +02:00
Michael Natterer e50103ccda Bug 754171 - cmd - missing modifier key to configure input controllers
Don't hardcode modifier masks in the wheel and keyboard input
controllers. Instead, hardcode accelerator strings and get the right
modifier mask from gtk_accelerator_parse() at runtime.

This turns e.g. "<Shift><Primary>" into Shift+Cmd on OS X and into
Shift+Ctrl on X11 and Windows.

Also rename the events accordingly and change the event names in the
default controllerrc.

Unrelated: reorder the actions so the ones with less modifiers are
listed first, and change the order of action matching to match the
actions with most modifiers (the last ones) first.
2015-09-08 23:24:48 +02:00
Michael Natterer 6c2b0c66bb etc: s/tools-value-1-*/tools-opacity-*/ in the default controllerrc
The actions were renamed a while ago, this change fixes the default
mapping.
2014-09-29 21:57:33 +02:00
Sven Neumann fbbf39e138 changed cursor key event prefix from "key-" to "cursor-".
2008-07-14  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcontrollerkeyboard.c: changed cursor key event
	prefix from "key-" to "cursor-".

	* etc/controllerrc: changed accordingly. Also removed default
	bindings for cursor keys without modifiers as many tools use the
	cursor keys already.


svn path=/trunk/; revision=26188
2008-07-14 11:43:38 +00:00
Sven Neumann 5f30566b2d bind Alt-Cursor Key to tools-value-1 instead of context-opacity
2008-03-21  Sven Neumann  <sven@gimp.org>

	* etc/controllerrc: bind Alt-Cursor Key to tools-value-1 instead
	of context-opacity (tools-value-1 is equivalent to 
context-opacity
	for paint tools).


svn path=/trunk/; revision=25162
2008-03-21 21:38:19 +00:00
Sven Neumann d61fb44659 changed default mouse-wheel bindings to act on the active tool instead of
2008-03-07  Sven Neumann  <sven@gimp.org>

	* etc/controllerrc: changed default mouse-wheel bindings to act 
on
	the active tool instead of controlling the context.


svn path=/trunk/; revision=25059
2008-03-06 23:29:40 +00:00
Sven Neumann 3c5d71da83 fixed defaults for mouse wheel controller (bug #171083, fix spotted by
2005-03-21  Sven Neumann  <sven@gimp.org>

	* etc/controllerrc: fixed defaults for mouse wheel controller (bug
	#171083, fix spotted by Michael Schumacher).
2005-03-21 19:37:57 +00:00
Michael Natterer 4671054c08 added a commented-out midi controller entry with some example mappings.
2004-08-11  Michael Natterer  <mitch@gimp.org>

	* etc/controllerrc: added a commented-out midi controller entry
	with some example mappings.
2004-08-11 09:16:36 +00:00
Michael Natterer 1e005bfb12 changed default configuration of the keyboard controller: scroll the
2004-07-29  Michael Natterer  <mitch@gimp.org>

	* etc/controllerrc: changed default configuration of the keyboard
	controller: scroll the display one step on cursor_key, scroll by
	one page on <shift>+cursor_key and scroll to top/bottom/left/right
	on <control>+cursor_key. Fixes bug #53988.

	Moved the old opacity-modifying actions to <alt>+cursor_key.
2004-07-29 16:45:39 +00:00
Michael Natterer c0aa8fee88 fix typo in wheel controller mapping.
2004-06-24  Michael Natterer  <mitch@gimp.org>

	* etc/controllerrc: fix typo in wheel controller mapping.
2004-06-24 12:12:46 +00:00
Michael Natterer 02b91f6628 app/tools/gimptool.[ch] added boolean return value to
2004-06-24  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptool.[ch]
	* app/tools/tool_manager.[ch]: added boolean return value to
	GimpTool::key_press() which indicates if the event was handled.

	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.[ch]
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c: return TRUE if the key event was handled.

	* app/tools/gimppainttool.c: removed key_press() implementation.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcontrollerkeyboard.[ch]: new controller class
	which takes GdkEventKey and emits controller events for all
	combinations of modifiers and cursor keys.

	* app/widgets/gimpcontrollers.[ch]: added new function
	gimp_controllers_get_keyboard().

	* app/display/gimpdisplayshell-callbacks.c: if a key event was not
	handled by the active tool, dispatch it to the keyboard controller.

	* etc/controllerrc: add a keyboard controller which is configured
	to do the same as the removed gimp_paint_tool_key_press().
2004-06-24 10:16:08 +00:00
Sven Neumann 7bdf689b68 commented out the linux_input controller configuration.
2004-06-24  Sven Neumann  <sven@gimp.org>

	* etc/controllerrc: commented out the linux_input controller
	configuration.
2004-06-23 22:34:33 +00:00
Michael Natterer 5f4eabdbcb removed "enabled" property. Removed GIMP_CONTROLLER_PARAM_RERIALIZE from
2004-06-17  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcontroller.[ch]: removed "enabled"
	property. Removed GIMP_CONTROLLER_PARAM_RERIALIZE from the "name"
	property because it's the hardware-determined name of this
	controller instance.

	* app/widgets/gimpcontrollerwheel.c
	* modules/controller_linux_input.c: set the name.

	* libgimpwidgets/gimpwidgets.h: #include gimpcontroller.h.

	* app/widgets/gimpcontrollerinfo.[ch]: added "enabled" here
	instead.  Don't dispatch events if the controller is
	disabled. Made everything work (not crash) with info->mapping
	being NULL.

	* etc/controllerrc: updated again with the changed format.

	* app/widgets/gimpcontrollers.[ch]: added
	gimp_controllers_get_list() which returns the container of
	controllers.

	* app/widgets/gimphelp-ids.h
	* app/gui/preferences-dialog.c: added controller configuration
	(can't change anything yet, just view the current settings).
	Resurrected the "Input Devices" page and removed the "Session"
	page by moving its widgets to other pages. Pack the various
	"Save now"/"Clear now" buttons vertically, not horizontally.
	Fixes bug #139069.

	* themes/Default/images/preferences/Makefile.am
	* themes/Default/images/preferences/controllers.png
	* themes/Default/images/preferences/theme.png: new icons for new
	prefs pages. Someone needs to make them nice...
2004-06-17 14:07:05 +00:00
Michael Natterer 3a7f7d54e7 added #define GIMP_CONTROLLER_PARAM_SERIALIZE. Made all properties
2004-06-16  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcontroller.[ch]: added #define
	GIMP_CONTROLLER_PARAM_SERIALIZE. Made all properties serializable.

	* modules/controller_linux_input.c: made "device-name"
	serializable.

	* app/config/gimpconfig-params.h: added macro
	GIMP_CONFIG_INSTALL_PROP_POINTER() which needs to be handled
	by custom (de)serialize_property() implementations.

	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-serialize.c: made object (de)serialization
	work for object properties which are *not* GIMP_PARAM_AGGREGATE.
	Write/parse the exact type of the object to create to enable this.

	* app/core/gimpmarshal.list: new marshaller for GimpControllerInfo.

	* app/widgets/gimpcontrollerinfo.[ch]: implement GimpConfigInterface
	and add "controller" and "mapping" properties. Add "event-mapped"
	signal which carries the action_name.

	* app/widgets/gimpcontrollers.c: removed all deserialization code
	and simply (de)serialize the controller container. Install a
	container handler for "event-mapped" and do the action_name ->
	action mapping in the callback.

	* etc/controllerrc: regenerated with new syntax. Delete your old one!
2004-06-16 18:14:44 +00:00
Michael Natterer 569af0ac93 added GimpController::get_event_blurb() which returns the strings that
2004-06-16  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcontroller.[ch]: added
	GimpController::get_event_blurb() which returns the strings that
	were returned by get_event_name(). The latter returns
	untranslatable event identifiers now.

	* app/widgets/gimpcontrollerwheel.c
	* modules/controller_linux_input.c: changed accordingly.

	* app/widgets/gimpcontrollerinfo.c
	* app/widgets/gimpcontrollers.c: changed the event mapping from
	event-id -> action-name to event-name -> action-name.

	* etc/controllerrc: changed accordingly (finally readable now).
2004-06-16 11:53:37 +00:00
Jakub Steiner 02e41c06fa fix typo
2004-06-16  Jakub Steiner <jimmac@ximian.com>

* etc/controllerrc: fix typo
2004-06-16 02:57:55 +00:00
Sven Neumann 152a05c51a modules/controller_linux_input.c basic wheel event support.
2004-06-16  Sven Neumann  <sven@gimp.org>

	* modules/controller_linux_input.c
	* etc/controllerrc: basic wheel event support.
2004-06-16 02:39:15 +00:00
Sven Neumann f4208e33ba bug fix.
2004-06-16  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcontrollers.c: bug fix.

	* configure.in: check for linux/input.h.

	* modules/Makefile.am
	* modules/controller_linux_input.c: added a prototype controller
	module using the linux input event interface.

	* etc/controllerrc: added example config for linux input device.
2004-06-16 02:18:17 +00:00
Michael Natterer 1713ef21a5 load the controller's properties from the controllerrc file.
2004-06-16  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontrollers.c: load the controller's
	properties from the controllerrc file.

	* etc/controllerrc: set the wheel's properties.
2004-06-16 01:59:50 +00:00
Michael Natterer 037da87c92 use the 10% actions for opacity.
2004-06-16  Michael Natterer  <mitch@gimp.org>

	* etc/controllerrc: use the 10% actions for opacity.
2004-06-16 01:22:57 +00:00
Michael Natterer f3b7f4161c added a "name" property. Dispatch events only if the controller is
2004-06-16  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcontroller.[ch]: added a "name" property.
	Dispatch events only if the controller is enabled.

	* app/widgets/gimpcontrollerwheel.c: added controller events for
	all possible modifier combinations.

	* etc/Makefile.am
	* etc/controllerrc: default controllerrc which maps all unused
	wheel+modifier combinations to more-or-less usefull stuff.
2004-06-16 00:52:28 +00:00