How to get python reference for a menu?
Switch to Scripting screen
RMB on Brush and click Edit Source
Cursor will be located in this line: layout.menu("VIEW3D_MT_brush")
Search for VIEW3D_MT_brush in the file (CtrlF, you may need to enable Wrap)
You will find the class VIEW3D_MT_brush(Menu): ...
Scroll down a bit and locate Curve Presets, the code line islayout.operator_menu_enum("brush.curve_preset", "shape", text="Curve Preset")


As you can see, there's actually no menu, but an enum property that is displayed like a menu.

Thus, you can't use bpy.ops.wm.call_menu(). If you use UILayout.operator_enum() in the draw function for WindowManager.popup_menu() and wrap that call in an operator, it is possible to show the presets like a menu:

import bpy


def draw_func(self, context):
    layout = self.layout
    layout.operator_enum("brush.curve_preset", "shape")


class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"

    @classmethod
    def poll(cls, context):
        return context.object is not None

    def execute(self, context):
        wm = bpy.context.window_manager
        wm.popup_menu(draw_func, title="Curve Preset")
        return {'FINISHED'}


def register():
    bpy.utils.register_class(SimpleOperator)


def unregister():
    bpy.utils.unregister_class(SimpleOperator)


if __name__ == "__main__":
    register()

    # test call
    bpy.ops.object.simple_operator()


How to set up keymaps is covered here, if you want to let the script do that itself: Addon Tutorial #Keymaps (you should make your script an addon in order to use keymaps)