مقدمه مفهومی درباره واژه کلیدهای نرم افزاری به دکمه های فیزیکی یا روی صفحه نمایش گفته می شود که عملکرد آنها به صورت پویا توسط نرم افزار تعیین می شود. برخلاف کلیدهای سخت افزاری با عملکرد ثابت، این کلیدها می توانند بسته به زمینه کاربری، عملکردهای مختلفی ارائه دهند. کاربرد واژه در برنامه نویسی یا زیرشاخه های فناوری اطلاعات در دستگاه های موبایل برای دکمه های چندمنظوره، در سیستم های صنعتی برای کنترل ماشین آلات، در خودپردازهای بانکی، در دستگاه های پزشکی و در رابط های کاربری لمسی استفاده می شود. مثال های واقعی و کاربردی در زندگی یا پروژه های IT دکمه های کناری گوشی های هوشمند که بسته به برنامه عملکرد متفاوت دارند، کلیدهای لمسی زیر نمایشگر خودپردازها، دکمه های کنترل دستگاه های صنعتی که برچسب آنها تغییر می کند و کلیدهای برنامه پذیر روی کیبوردهای حرفه ای از نمونه های کاربردی این مفهوم هستند. نقش واژه در توسعه نرم افزار یا معماری سیستم ها در معماری رابط کاربری، کلیدهای نرم افزاری انعطاف پذیری را افزایش می دهند. در سیستم های تعاملی، امکان سفارشی سازی را فراهم می کنند. در دستگاه های با فضای محدود، بهینه سازی فضا را ممکن می سازند. در توسعه نرم افزار، چالش طراحی رابط های سازگار را کاهش می دهند. شروع استفاده از این واژه در تاریخچه فناوری و تکامل آن در سال های مختلف مفهوم کلیدهای نرم افزاری از دهه 1970 با ظهور نمایشگرهای CRT مطرح شد. در دهه 1990 با دستگاه های PDA گسترش یافت. امروزه در اکثر دستگاه های هوشمند و رابط های لمسی پیاده سازی می شود. تفکیک آن از واژگان مشابه کلیدهای نرم افزاری با کلیدهای سخت افزاری که عملکرد ثابت دارند متفاوت است. با میانبرهای صفحه کلید که ترکیب کلیدها هستند فرق می کند. با دکمه های لمسی که فقط لمسی هستند نیز تفاوت دارد. شیوه پیاده سازی واژه در زبان های برنامه نویسی مختلف در Android با KeyEvent، در iOS با UIControl، در برنامه های دسکتاپ با event handlerها، در سیستم های embedded با firmwareهای اختصاصی. در وب با JavaScript event listeners. چالش ها یا سوءبرداشت های رایج در مورد آن سوءبرداشت رایج در تفاوت بین کلیدهای نرم و سخت افزاری. چالش اصلی در طراحی رابط های شهودی. مشکل دیگر در مستندسازی عملکردهای مختلف کلیدها. نتیجه گیری کاربردی برای استفاده در متون تخصصی و آموزشی کلیدهای نرم افزاری عناصر مهمی در طراحی رابط کاربری مدرن هستند. در مستندات فنی باید رفتارهای مختلف کلیدها مشخص شود. در آموزش UI/UX، طراحی کلیدهای نرم افزاری موثر باید آموزش داده شود.