JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://www.openlayers.org/dev/OpenLayers.js"></script>
<div id="map" style="width:300px; height:300px;"></div>

CSS

@import url('http://openlayers.org/dev/theme/default/style.css');

JavaScript

// DEV list: OpenLayers.Handler.MOD_CTRL example?

// refreshCache clusters
var map = new OpenLayers.Map('map');

// The layers
var vectorLayer = new OpenLayers.Layer.Vector("vector");
vectorLayer.addFeatures([
    new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(0, 0)),
    new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(5000000, 5000000)),
    new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(-5000000, -5000000))
]);
map.addLayers([vectorLayer, new OpenLayers.Layer.OSM("OSM")]);
map.zoomToMaxExtent();

// The control
var featureSelector = new OpenLayers.Control.SelectFeature([vectorLayer]);
map.addControl(featureSelector);
featureSelector.activate();

// Listen events
function onFeatureSelect(evt){
    var theDomEvent = featureSelector.handlers.feature.evt;    
    console.log('theDomEvent.myModifiers(): ' + (
            (theDomEvent.shiftKey ? OpenLayers.Handler.MOD_SHIFT : 0) |
            (theDomEvent.ctrlKey  ? OpenLayers.Handler.MOD_CTRL  : 0) |
            (theDomEvent.altKey   ? OpenLayers.Handler.MOD_ALT   : 0) |
            (theDomEvent.metaKey  ? OpenLayers.Handler.MOD_META  : 0)
    ));
}
vectorLayer.events.on({'featureselected': onFeatureSelect});