diff --git a/org.fortiss.af3.platform.raspberry.ui/trunk/plugin.xml b/org.fortiss.af3.platform.raspberry.ui/trunk/plugin.xml
index 708b0d2ea4c6e10a6ab0f58fb6b4552bf664e43a..5826e263d3e4aaa0a57f6df115c2f138d81ada03 100644
--- a/org.fortiss.af3.platform.raspberry.ui/trunk/plugin.xml
+++ b/org.fortiss.af3.platform.raspberry.ui/trunk/plugin.xml
@@ -53,6 +53,9 @@
       </modelElementClass>
           <modelElementClass
             modelElementClass="org.fortiss.af3.platform.raspberry.model.gamepad.GamepadReceiverBase">
+      </modelElementClass>
+          <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.RumblepadReceiverBase">
       </modelElementClass>
           <modelElementClass
             modelElementClass="org.fortiss.af3.platform.raspberry.model.brick.UIDUnit">
@@ -169,7 +172,73 @@
             modelElementClass="org.fortiss.af3.platform.raspberry.model.brick.ActuatorDigits">
       </modelElementClass>
    </modelElementHandler>
-</extension>
+   <modelElementHandler
+         handler="org.fortiss.af3.platform.raspberry.ui.handler.RumblepadReceiverHandler">
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonA">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonB">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonX">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonY">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonStart">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonSelect">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonHome">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonL1">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonL3">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonR1">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonR3">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.DPadUp">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.DPadDown">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.DPadLeft">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.DPadRight">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.L2_Position">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.R2_Position">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.Left_StickX_Position">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.Left_StickY_Position">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.Right_StickX_Position">
+      </modelElementClass>
+      <modelElementClass
+            modelElementClass="org.fortiss.af3.platform.raspberry.model.rumblepad.Right_StickY_Position">
+      </modelElementClass>
+   </modelElementHandler>
+  </extension>
    <extension
          point="org.eclipse.ui.views.properties.tabbed.propertySections">
       <propertySections
diff --git a/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editpart/EditPartFactory.java b/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editpart/EditPartFactory.java
index 24a0eda75bfe43d2bed7ffbb7a50486b2ba3f1db..d1dc2aff474aba65f253e049771fee92d983b757 100644
--- a/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editpart/EditPartFactory.java
+++ b/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/editpart/EditPartFactory.java
@@ -26,6 +26,7 @@ import org.fortiss.af3.platform.raspberry.model.CanConnector;
 import org.fortiss.af3.platform.raspberry.model.RaspberryPi;
 import org.fortiss.af3.platform.raspberry.model.brick.UIDUnit;
 import org.fortiss.af3.platform.raspberry.model.gamepad.GamepadReceiverBase;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.RumblepadReceiverBase;
 import org.fortiss.af3.platform.ui.DefaultStyle;
 import org.fortiss.af3.platform.ui.editpart.generic.ExecutionUnitEditPart;
 import org.fortiss.af3.platform.ui.editpart.generic.StickyPlatformConnectorUnitEditPart;
@@ -61,7 +62,8 @@ public class EditPartFactory implements IEditPartFactory {
 		} else if(model instanceof CanBus) {
 			return new TransmissionUnitDefaultEditPart((CanBus)model);
 		} else if(model instanceof CanConnector || model instanceof ActuatorPWM ||
-				model instanceof GamepadReceiverBase || model instanceof UIDUnit) {
+				model instanceof GamepadReceiverBase || model instanceof RumblepadReceiverBase ||
+				model instanceof UIDUnit) {
 			return new StickyPlatformConnectorUnitEditPart((PlatformConnectorUnit)model);
 		}
 		return null;
diff --git a/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/handler/RumblepadReceiverHandler.java b/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/handler/RumblepadReceiverHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..e4191de315c99ab9b7d17f0fd9b17defebfae35f
--- /dev/null
+++ b/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/handler/RumblepadReceiverHandler.java
@@ -0,0 +1,41 @@
+/*--------------------------------------------------------------------------+
+$Id$
+|                                                                          |
+| Copyright 2011 ForTISS GmbH                     |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.af3.platform.raspberry.ui.handler;
+
+import static org.fortiss.af3.platform.raspberry.ui.AF3PlatformRaspberryUIActivator.getImageDescriptor;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.RumblepadReceiverBase;
+import org.fortiss.tooling.kernel.ui.extension.base.NamedCommentedModelElementHandlerBase;
+
+/**
+ * Handler for {@link RumblepadReceiverBase}s.
+ * 
+ * @author hoelzl
+ * @author $Author$
+ * @version $Rev$
+ * @ConQAT.Rating GREEN Hash: D80CF94CBBADB4627AAEDA1F34ABF0A5
+ */
+public class RumblepadReceiverHandler extends
+		NamedCommentedModelElementHandlerBase<RumblepadReceiverBase> {
+	/** {@inheritDoc} */
+	@Override
+	public ImageDescriptor getIconImageDescriptor() {
+		return getImageDescriptor("icons/gamepad.png");
+	}
+}
diff --git a/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/prototype/ProtoypeProvider.java b/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/prototype/ProtoypeProvider.java
index dd295007c3ca61a81c004b007570880f51b0a1df..42fb85840e3e4a2c22e41585095775fab2abe26d 100644
--- a/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/prototype/ProtoypeProvider.java
+++ b/org.fortiss.af3.platform.raspberry.ui/trunk/src/org/fortiss/af3/platform/raspberry/ui/prototype/ProtoypeProvider.java
@@ -49,6 +49,21 @@ import org.fortiss.af3.platform.raspberry.model.gamepad.Left_StickX_Position;
 import org.fortiss.af3.platform.raspberry.model.gamepad.Left_StickY_Position;
 import org.fortiss.af3.platform.raspberry.model.gamepad.Right_StickX_Position;
 import org.fortiss.af3.platform.raspberry.model.gamepad.Right_StickY_Position;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonA;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonB;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonHome;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonL3;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonR3;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonSelect;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonStart;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonX;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonY;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.DPadDown;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.DPadLeft;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.DPadRight;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.DPadUp;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.L2_Position;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.R2_Position;
 import org.fortiss.af3.platform.raspberry.util.RaspberryModelElementFactory;
 import org.fortiss.tooling.kernel.extension.base.PrototypeProviderBase;
 import org.fortiss.tooling.kernel.extension.data.PrototypeCategory;
@@ -66,6 +81,8 @@ public class ProtoypeProvider extends PrototypeProviderBase {
 	protected final static String CATEGORY_NAME = "RaspberryPI Platform";
 	/** Category for gamepad elements. */
 	protected final static String GAMEPAD = "Gamepad";
+	/** Category for rumblepad elements. */
+	protected final static String RUMBLEPAD = "Rumblepad";
 	/** Category for brick elements. */
 	protected final static String BRICK = "Bricklets";
 
@@ -76,6 +93,7 @@ public class ProtoypeProvider extends PrototypeProviderBase {
 		registerPrimaryPrototype("RaspberryPi", pi, CATEGORY_NAME);
 		PrototypeCategory prototypeCategory = registerPrototypeCategory(CATEGORY_NAME);
 		registerPrototypeCategory(prototypeCategory, GAMEPAD);
+		registerPrototypeCategory(prototypeCategory, RUMBLEPAD);
 		registerPrototypeCategory(prototypeCategory, BRICK);
 
 		CanBus bus = RaspberryModelElementFactory.createCanBus();
@@ -197,5 +215,116 @@ public class ProtoypeProvider extends PrototypeProviderBase {
 		setNodePosition(avZ, 0, 0);
 		setConnectorPosition(avZ, 0, 0);
 		registerPrototype(avZ.getName(), avZ, BRICK);
+
+		org.fortiss.af3.platform.raspberry.model.rumblepad.Left_StickX_Position rplsx =
+				RaspberryModelElementFactory.createRumbleLeftStickX();
+		setNodePosition(rplsx, 0, 0);
+		setConnectorPosition(rplsx, 0, 0);
+		registerPrototype(rplsx.getName(), rplsx, RUMBLEPAD);
+
+		org.fortiss.af3.platform.raspberry.model.rumblepad.Left_StickY_Position rplsy =
+				RaspberryModelElementFactory.createRumbleLeftStickY();
+		setNodePosition(rplsy, 0, 0);
+		setConnectorPosition(rplsy, 0, 0);
+		registerPrototype(rplsy.getName(), rplsy, RUMBLEPAD);
+
+		org.fortiss.af3.platform.raspberry.model.rumblepad.Right_StickX_Position rprsx =
+				RaspberryModelElementFactory.createRumbleRightStickX();
+		setNodePosition(rprsx, 0, 0);
+		setConnectorPosition(rprsx, 0, 0);
+		registerPrototype(rprsx.getName(), rprsx, RUMBLEPAD);
+
+		org.fortiss.af3.platform.raspberry.model.rumblepad.Right_StickY_Position rprsy =
+				RaspberryModelElementFactory.createRumbleRightStickY();
+		setNodePosition(rprsy, 0, 0);
+		setConnectorPosition(rprsy, 0, 0);
+		registerPrototype(rprsy.getName(), rprsy, RUMBLEPAD);
+
+		org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonL1 rpl1 =
+				RaspberryModelElementFactory.createRumbleButtonL1();
+		setNodePosition(rpl1, 0, 0);
+		setConnectorPosition(rpl1, 0, 0);
+		registerPrototype(rpl1.getName(), rpl1, RUMBLEPAD);
+
+		org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonR1 rpr1 =
+				RaspberryModelElementFactory.createRumbleButtonR1();
+		setNodePosition(rpr1, 0, 0);
+		setConnectorPosition(rpr1, 0, 0);
+		registerPrototype(rpr1.getName(), rpr1, RUMBLEPAD);
+
+		L2_Position rpl2 = RaspberryModelElementFactory.createRumbleL2Position();
+		setNodePosition(rpl2, 0, 0);
+		setConnectorPosition(rpl2, 0, 0);
+		registerPrototype(rpl2.getName(), rpl2, RUMBLEPAD);
+
+		R2_Position rpr2 = RaspberryModelElementFactory.createRumbleR2Position();
+		setNodePosition(rpr2, 0, 0);
+		setConnectorPosition(rpr2, 0, 0);
+		registerPrototype(rpr2.getName(), rpr2, RUMBLEPAD);
+
+		ButtonL3 rpl3 = RaspberryModelElementFactory.createRumbleButtonL3();
+		setNodePosition(rpl3, 0, 0);
+		setConnectorPosition(rpl3, 0, 0);
+		registerPrototype(rpl3.getName(), rpl3, RUMBLEPAD);
+
+		ButtonR3 rpr3 = RaspberryModelElementFactory.createRumbleButtonR3();
+		setNodePosition(rpr3, 0, 0);
+		setConnectorPosition(rpr3, 0, 0);
+		registerPrototype(rpr3.getName(), rpr3, RUMBLEPAD);
+
+		DPadUp rpdpu = RaspberryModelElementFactory.createRumbleDPadUp();
+		setNodePosition(rpdpu, 0, 0);
+		setConnectorPosition(rpdpu, 0, 0);
+		registerPrototype(rpdpu.getName(), rpdpu, RUMBLEPAD);
+
+		DPadDown rpdpd = RaspberryModelElementFactory.createRumbleDPadDown();
+		setNodePosition(rpdpd, 0, 0);
+		setConnectorPosition(rpdpd, 0, 0);
+		registerPrototype(rpdpd.getName(), rpdpd, RUMBLEPAD);
+
+		DPadLeft rpdpl = RaspberryModelElementFactory.createRumbleDPadLeft();
+		setNodePosition(rpdpl, 0, 0);
+		setConnectorPosition(rpdpl, 0, 0);
+		registerPrototype(rpdpl.getName(), rpdpl, RUMBLEPAD);
+
+		DPadRight rpdpr = RaspberryModelElementFactory.createRumbleDPadRight();
+		setNodePosition(rpdpr, 0, 0);
+		setConnectorPosition(rpdpr, 0, 0);
+		registerPrototype(rpdpr.getName(), rpdpr, RUMBLEPAD);
+
+		ButtonA rpba = RaspberryModelElementFactory.createRumbleButtonA();
+		setNodePosition(rpba, 0, 0);
+		setConnectorPosition(rpba, 0, 0);
+		registerPrototype(rpba.getName(), rpba, RUMBLEPAD);
+
+		ButtonB rpbb = RaspberryModelElementFactory.createRumbleButtonB();
+		setNodePosition(rpbb, 0, 0);
+		setConnectorPosition(rpbb, 0, 0);
+		registerPrototype(rpbb.getName(), rpbb, RUMBLEPAD);
+
+		ButtonX rpbx = RaspberryModelElementFactory.createRumbleButtonX();
+		setNodePosition(rpbx, 0, 0);
+		setConnectorPosition(rpbx, 0, 0);
+		registerPrototype(rpbx.getName(), rpbx, RUMBLEPAD);
+
+		ButtonY rpby = RaspberryModelElementFactory.createRumbleButtonY();
+		setNodePosition(rpby, 0, 0);
+		setConnectorPosition(rpby, 0, 0);
+		registerPrototype(rpby.getName(), rpby, RUMBLEPAD);
+
+		ButtonStart rpbst = RaspberryModelElementFactory.createRumbleButtonStart();
+		setNodePosition(rpbst, 0, 0);
+		setConnectorPosition(rpbst, 0, 0);
+		registerPrototype(rpbst.getName(), rpbst, RUMBLEPAD);
+
+		ButtonSelect rpbse = RaspberryModelElementFactory.createRumbleButtonSelect();
+		setNodePosition(rpbse, 0, 0);
+		setConnectorPosition(rpbse, 0, 0);
+		registerPrototype(rpbse.getName(), rpbse, RUMBLEPAD);
+
+		ButtonHome rpbh = RaspberryModelElementFactory.createRumbleButtonHome();
+		setNodePosition(rpbh, 0, 0);
+		setConnectorPosition(rpbh, 0, 0);
+		registerPrototype(rpbh.getName(), rpbh, RUMBLEPAD);
 	}
 }
diff --git a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/compose/RaspberryPiCompositor.java b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/compose/RaspberryPiCompositor.java
index 798a89dc7f0d531246f87ab55ea940d46aec6e99..8363aad9b5435c7e88ad916c1a73888566540c40 100644
--- a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/compose/RaspberryPiCompositor.java
+++ b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/compose/RaspberryPiCompositor.java
@@ -46,6 +46,7 @@ import org.fortiss.af3.platform.raspberry.model.gamepad.Left_StickX_Position;
 import org.fortiss.af3.platform.raspberry.model.gamepad.Left_StickY_Position;
 import org.fortiss.af3.platform.raspberry.model.gamepad.Right_StickX_Position;
 import org.fortiss.af3.platform.raspberry.model.gamepad.Right_StickY_Position;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.RumblepadReceiverBase;
 import org.fortiss.tooling.kernel.extension.data.IElementCompositionContext;
 import org.fortiss.tooling.kernel.extension.data.Prototype;
 
@@ -85,12 +86,12 @@ public class RaspberryPiCompositor extends
 						LaserRangeSensor.class, AccelerationXSensor.class,
 						AccelerationYSensor.class, AccelerationZSensor.class,
 						AngularVelocityXSensor.class, AngularVelocityYSensor.class,
-						AngularVelocityZSensor.class, ActuatorDigits.class);
+						AngularVelocityZSensor.class, ActuatorDigits.class,
+						RumblepadReceiverBase.class);
 		if(container != null) {
 			final boolean instanceOfAny = isInstanceOfAny(container, RaspberryPi.class);
 			return instanceOfAny && instanceOfAny2;
 		}
 		return instanceOfAny2;
 	}
-
 }
diff --git a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/util/RaspberryModelElementFactory.java b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/util/RaspberryModelElementFactory.java
index 8b756a0ad902bdade30fce6ce18c7c67d130815d..3480010180b6cc373618f1b37c152fbcfd90b30a 100644
--- a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/util/RaspberryModelElementFactory.java
+++ b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/util/RaspberryModelElementFactory.java
@@ -47,6 +47,22 @@ import org.fortiss.af3.platform.raspberry.model.gamepad.Left_StickX_Position;
 import org.fortiss.af3.platform.raspberry.model.gamepad.Left_StickY_Position;
 import org.fortiss.af3.platform.raspberry.model.gamepad.Right_StickX_Position;
 import org.fortiss.af3.platform.raspberry.model.gamepad.Right_StickY_Position;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonA;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonB;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonHome;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonL3;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonR3;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonSelect;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonStart;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonX;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonY;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.DPadDown;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.DPadLeft;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.DPadRight;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.DPadUp;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.L2_Position;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.R2_Position;
+import org.fortiss.af3.platform.raspberry.model.rumblepad.RumblepadFactory;
 import org.fortiss.tooling.base.utils.LayoutModelElementFactory;
 
 /**
@@ -264,4 +280,184 @@ public class RaspberryModelElementFactory {
 		createConnectorLayout(ad);
 		return ad;
 	}
+
+	/** Creates a {@link ButtonA}. */
+	public static ButtonA createRumbleButtonA() {
+		ButtonA button = RumblepadFactory.eINSTANCE.createButtonA();
+		button.setName("ButtonA");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link ButtonA}. */
+	public static ButtonB createRumbleButtonB() {
+		ButtonB button = RumblepadFactory.eINSTANCE.createButtonB();
+		button.setName("ButtonB");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link ButtonA}. */
+	public static ButtonX createRumbleButtonX() {
+		ButtonX button = RumblepadFactory.eINSTANCE.createButtonX();
+		button.setName("ButtonX");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link ButtonY}. */
+	public static ButtonY createRumbleButtonY() {
+		ButtonY button = RumblepadFactory.eINSTANCE.createButtonY();
+		button.setName("ButtonY");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link ButtonStart}. */
+	public static ButtonStart createRumbleButtonStart() {
+		ButtonStart button = RumblepadFactory.eINSTANCE.createButtonStart();
+		button.setName("ButtonStart");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link ButtonSelect}. */
+	public static ButtonSelect createRumbleButtonSelect() {
+		ButtonSelect button = RumblepadFactory.eINSTANCE.createButtonSelect();
+		button.setName("ButtonSelect");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link ButtonHome}. */
+	public static ButtonHome createRumbleButtonHome() {
+		ButtonHome button = RumblepadFactory.eINSTANCE.createButtonHome();
+		button.setName("ButtonHome");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonL1}. */
+	public static org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonL1
+			createRumbleButtonL1() {
+		org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonL1 button =
+				RumblepadFactory.eINSTANCE.createButtonL1();
+		button.setName("ButtonL1");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link ButtonL3}. */
+	public static ButtonL3 createRumbleButtonL3() {
+		ButtonL3 button = RumblepadFactory.eINSTANCE.createButtonL3();
+		button.setName("ButtonL3");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonR1}. */
+	public static org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonR1
+			createRumbleButtonR1() {
+		org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonR1 button =
+				RumblepadFactory.eINSTANCE.createButtonR1();
+		button.setName("ButtonR1");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link ButtonR3}. */
+	public static ButtonR3 createRumbleButtonR3() {
+		ButtonR3 button = RumblepadFactory.eINSTANCE.createButtonR3();
+		button.setName("ButtonR3");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link DPadUp}. */
+	public static DPadUp createRumbleDPadUp() {
+		DPadUp button = RumblepadFactory.eINSTANCE.createDPadUp();
+		button.setName("DPadUp");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link DPadDown}. */
+	public static DPadDown createRumbleDPadDown() {
+		DPadDown button = RumblepadFactory.eINSTANCE.createDPadDown();
+		button.setName("DPadDown");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link DPadLeft}. */
+	public static DPadLeft createRumbleDPadLeft() {
+		DPadLeft button = RumblepadFactory.eINSTANCE.createDPadLeft();
+		button.setName("DPadLeft");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link DPadRight}. */
+	public static DPadRight createRumbleDPadRight() {
+		DPadRight button = RumblepadFactory.eINSTANCE.createDPadRight();
+		button.setName("DPadRight");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link org.fortiss.af3.platform.raspberry.model.rumblepad.Left_StickX_Position}. */
+	public static org.fortiss.af3.platform.raspberry.model.rumblepad.Left_StickX_Position
+			createRumbleLeftStickX() {
+		org.fortiss.af3.platform.raspberry.model.rumblepad.Left_StickX_Position button =
+				RumblepadFactory.eINSTANCE.createLeft_StickX_Position();
+		button.setName("Left_StickX");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link org.fortiss.af3.platform.raspberry.model.rumblepad.Left_StickY_Position}. */
+	public static org.fortiss.af3.platform.raspberry.model.rumblepad.Left_StickY_Position
+			createRumbleLeftStickY() {
+		org.fortiss.af3.platform.raspberry.model.rumblepad.Left_StickY_Position button =
+				RumblepadFactory.eINSTANCE.createLeft_StickY_Position();
+		button.setName("Left_StickY");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link org.fortiss.af3.platform.raspberry.model.rumblepad.Right_StickX_Position}. */
+	public static org.fortiss.af3.platform.raspberry.model.rumblepad.Right_StickX_Position
+			createRumbleRightStickX() {
+		org.fortiss.af3.platform.raspberry.model.rumblepad.Right_StickX_Position button =
+				RumblepadFactory.eINSTANCE.createRight_StickX_Position();
+		button.setName("Right_StickX");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link org.fortiss.af3.platform.raspberry.model.rumblepad.Right_StickY_Position}. */
+	public static org.fortiss.af3.platform.raspberry.model.rumblepad.Right_StickY_Position
+			createRumbleRightStickY() {
+		org.fortiss.af3.platform.raspberry.model.rumblepad.Right_StickY_Position button =
+				RumblepadFactory.eINSTANCE.createRight_StickY_Position();
+		button.setName("Right_StickY");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link L2_Position}. */
+	public static L2_Position createRumbleL2Position() {
+		L2_Position button = RumblepadFactory.eINSTANCE.createL2_Position();
+		button.setName("L2Position");
+		createConnectorLayout(button);
+		return button;
+	}
+
+	/** Creates a {@link R2_Position}. */
+	public static R2_Position createRumbleR2Position() {
+		R2_Position button = RumblepadFactory.eINSTANCE.createR2_Position();
+		button.setName("R2Position");
+		createConnectorLayout(button);
+		return button;
+	}
 }