[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24774] trunk/blender: 2.5: Emulate numpad works again.
Brecht Van Lommel
brecht at blender.org
Sun Nov 22 17:33:47 CET 2009
Revision: 24774
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24774
Author: blendix
Date: 2009-11-22 17:33:47 +0100 (Sun, 22 Nov 2009)
Log Message:
-----------
2.5: Emulate numpad works again.
Modified Paths:
--------------
trunk/blender/release/scripts/ui/space_userpref.py
trunk/blender/source/blender/makesrna/intern/rna_userdef.c
trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
Modified: trunk/blender/release/scripts/ui/space_userpref.py
===================================================================
--- trunk/blender/release/scripts/ui/space_userpref.py 2009-11-22 16:33:00 UTC (rev 24773)
+++ trunk/blender/release/scripts/ui/space_userpref.py 2009-11-22 16:33:47 UTC (rev 24774)
@@ -275,7 +275,6 @@
sub1.itemR(system, "dpi")
sub1.itemR(system, "frame_server_port")
sub1.itemR(system, "scrollback", text="Console Scrollback")
- sub1.itemR(system, "emulate_numpad")
sub1.itemR(system, "auto_run_python_scripts")
sub1.itemS()
@@ -1129,8 +1128,10 @@
sub.row().itemR(inputs, "middle_mouse", expand=True)
sub.itemS()
+
+ sub.itemR(inputs, "emulate_numpad")
+
sub.itemS()
- sub.itemS()
sub.itemL(text="Orbit Style:")
sub.row().itemR(inputs, "view_rotation", expand=True)
Modified: trunk/blender/source/blender/makesrna/intern/rna_userdef.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_userdef.c 2009-11-22 16:33:00 UTC (rev 24773)
+++ trunk/blender/source/blender/makesrna/intern/rna_userdef.c 2009-11-22 16:33:47 UTC (rev 24774)
@@ -2160,10 +2160,6 @@
RNA_def_property_boolean_sdna(prop, NULL, "flag", USER_DONT_DOSCRIPTLINKS);
RNA_def_property_ui_text(prop, "Auto Run Python Scripts", "Allow any .blend file to run scripts automatically (unsafe with blend files from an untrusted source).");
- prop= RNA_def_property(srna, "emulate_numpad", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", USER_NONUMPAD);
- RNA_def_property_ui_text(prop, "Emulate Numpad", "Causes the 1 to 0 keys to act as the numpad (useful for laptops).");
-
prop= RNA_def_property(srna, "prefetch_frames", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "prefetchframes");
RNA_def_property_range(prop, 0, 500);
@@ -2326,6 +2322,10 @@
RNA_def_property_boolean_sdna(prop, NULL, "flag", USER_TWOBUTTONMOUSE);
RNA_def_property_boolean_funcs(prop, NULL, "rna_userdef_emulate_set");
RNA_def_property_ui_text(prop, "Emulate 3 Button Mouse", "Emulates Middle Mouse with Alt+LeftMouse (doesnt work with Left Mouse Select option.)");
+
+ prop= RNA_def_property(srna, "emulate_numpad", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", USER_NONUMPAD);
+ RNA_def_property_ui_text(prop, "Emulate Numpad", "Causes the 1 to 0 keys to act as the numpad (useful for laptops).");
}
static void rna_def_userdef_filepaths(BlenderRNA *brna)
Modified: trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c 2009-11-22 16:33:00 UTC (rev 24773)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c 2009-11-22 16:33:47 UTC (rev 24774)
@@ -774,7 +774,31 @@
return 1;
}
}
+ /* exception for numpad emulation */
+ else if(U.flag & USER_NONUMPAD) {
+ wmKeyMapItem tmp= *kmi;
+ switch(kmi->type) {
+ case PAD0: tmp.type = ZEROKEY; break;
+ case PAD1: tmp.type = ONEKEY; break;
+ case PAD2: tmp.type = TWOKEY; break;
+ case PAD3: tmp.type = THREEKEY; break;
+ case PAD4: tmp.type = FOURKEY; break;
+ case PAD5: tmp.type = FIVEKEY; break;
+ case PAD6: tmp.type = SIXKEY; break;
+ case PAD7: tmp.type = SEVENKEY; break;
+ case PAD8: tmp.type = EIGHTKEY; break;
+ case PAD9: tmp.type = NINEKEY; break;
+ case PADMINUS: tmp.type = MINUSKEY; break;
+ case PADPLUSKEY: tmp.type = EQUALKEY; break;
+ case PADSLASHKEY: tmp.type = BACKSLASHKEY; break;
+ }
+
+ if(tmp.type != kmi->type)
+ if(wm_eventmatch(winevent, &tmp))
+ return 1;
+ }
+
/* the matching rules */
if(kmitype==KM_TEXTINPUT)
if(ISTEXTINPUT(winevent->type) && winevent->ascii) return 1;
More information about the Bf-blender-cvs
mailing list