Is it possible to give a shortcut to a specific screen layout?
An operator to set screen by name.

import bpy    
from bpy.props import StringProperty

class SCREEN_OT_set_by_name(bpy.types.Operator):
    """Change Screen by Name"""
    bl_idname = "screen.set_by_name"
    bl_label = "Set Screen by Name"
    bl_options = {'REGISTER', 'UNDO'}
    name = StringProperty(default="",
                          description="Set the Screen by name")

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

    def execute(self, context):
        to_screen = bpy.data.screens.find(self.name)
        if to_screen &gt;= 0:
            # context.screen
            from_screen = bpy.data.screens.find(context.screen.name)
            delta = to_screen - from_screen
            if not delta:
                return {'CANCELLED'}
            sign = abs(delta) / delta
            delta = abs(delta)
            for i in range(delta):
               bpy.ops.screen.screen_set('INVOKE_DEFAULT', delta=sign)
        return {'FINISHED'}


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

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


if __name__ == "__main__":
    register()

    # test call
    bpy.ops.screen.set_by_name(name="Default")



Keymap F1 to change to "Default" screen.